O método Include () funciona muito bem para listas de objetos. Mas e se eu precisar subir dois níveis? Por exemplo, o método abaixo retornará ApplicationServers com as propriedades incluídas mostradas aqui. No entanto, ApplicationsWithOverrideGroup é outro contêiner que contém outros objetos complexos. Posso fazer um Include () nessa propriedade também? Ou como posso obter essa propriedade para carregar totalmente?
Como está agora, este método:
public IEnumerable<ApplicationServer> GetAll()
{
return this.Database.ApplicationServers
.Include(x => x.ApplicationsWithOverrideGroup)
.Include(x => x.ApplicationWithGroupToForceInstallList)
.Include(x => x.CustomVariableGroups)
.ToList();
}
Preenche apenas a propriedade Enabled (abaixo) e não as propriedades Application ou CustomVariableGroup (abaixo). Como faço isso acontecer?
public class ApplicationWithOverrideVariableGroup : EntityBase
{
public bool Enabled { get; set; }
public Application Application { get; set; }
public CustomVariableGroup CustomVariableGroup { get; set; }
}
Expression must be a member expression
quando eu tente o seguinte: Para incluir uma coleção e, em seguida, uma coleção um nível abaixo:query.Include(e => e.Level1Collection.Select(l1 => l1.Level2Collection))
.