Professor, tenho a seguinte camada de negocio:
public abstract class Contato
{
public int Id {get; set;}
public string Descricao {get; set;}
public List<Telefone> Telefones{get;set;}
}
public class Unidade : Contato
{
public TipoUnidade Tipo{get; set;}
}
public class Funcionario: Contato
{
public Setor setor{get; set;}
}
O padrão de mapeamento que estou usando é o TPH.
Como posso dar include nas associações, preferencialmente, com apenas uma busca no banco? Tentei dessa maneira, sem sucesso:
public List<Contato> GetContatos()
{
return this._contexto.Contatos
.Include(te=>te.Telefones)
.Include(ti=>ti.Tipo)
.Include(s => s.setor)
.OrderBy(a => a.Descricao).ToList();
}
Com a tentativa abaixo também tive erro:
public List<Contato> GetContatos()
{
List<Contato> contatos= this._contexto.Contatos
.Include(u=>(u as Unidade).Tipo)
.ToList();
return contatos;
}
'The property expression 'u => (u As Unidade).Tipo' is not valid. The expression should represent a property access: 't => t.MyProperty'.
Qualquer tipo de solução será bem vinda...
Abraço e obrigado pela ajuda!