Include Linq

06/02/2019

4

Boa Tarde,

Possuo quatro classes onde são:

public abstract class PessoaModel:EntityModel
{
public string Nome { get; set; }

public int CodigoAreaResidencial { get; set; }
public string TelefoneResidencial { get; set; }

public int CodigoAreaCelular { get; set; }
public string TelefoneCelular { get; set; }

public int CodigoAreaComercial { get; set; }
public string TelefoneComercial { get; set; }

public string Email { get; set; }
public string Logradouro { get; set; }
public string Numero { get; set; }
public string Complemento { get; set; }
public virtual CidadeModel Cidade { get; set; }
public string Bairro { get; set; }
public string CEP { get; set; }

public string Observacao { get; set; }

}


public class PessoaFisicaModel : PessoaModel
{
public PessoaFisicaModel()
{
Indicacoes = new List<IndicacaoModel>();
}

public DateTime Nascimento { get; set; }
public string RG { get; set; }
public string CPF { get; set; }
public virtual SexoModel Sexo { get; set; }
public virtual EstadoCivilModel EstadoCivil { get; set; }
public virtual ProfissaoModel Profissao { get; set; }
public ICollection<IndicacaoModel> Indicacoes { get; set; }

}



public class PacienteModel : PessoaFisicaModel
{
public PacienteModel()
{

}
public virtual IndicacaoModel Indicacao { get; set; }
public virtual PlanoModel Plano { get; set; }
public string Matricula { get; set; }
public int Ficha { get; set; }

}


public class ProfissionalModel : PessoaFisicaModel
{
public ProfissionalModel()
{

}

public virtual ConselhoModel Conselho { get; set; }
public string MatriculaConselho { get; set; }
}



Como podem ver na classe PacienteModel tenho uma propriedade IndicacaoModel e dentro desta classe possuo uma propriedade PessoaFisicaModel, no qual é a pessoa que realizou a indicação do paciente.

O meu problema é o seguinte:

quando realizo o get da indicação realizando o Include da pessoa que indicou a pessoa sempre vem como null.

public IndicacaoModel GetWithPaciente(int id)
{
indicacao = this.DbSet.Include(x => x.PessoaIndicou).FirstOrDefault(i=> i.Id == id);

return indicacao;
}


Gostaria de saber como resolvo essa situação.
Responder