La méthode Include () fonctionne assez bien pour les listes d'objets. Mais que se passe-t-il si j'ai besoin d'aller deux niveaux en profondeur? Par exemple, la méthode ci-dessous retournera ApplicationServers avec les propriétés incluses affichées ici. Cependant, ApplicationsWithOverrideGroup est un autre conteneur qui contient d'autres objets complexes. Puis-je également faire un Include () sur cette propriété? Ou comment puis-je charger complètement cette propriété?
En l'état actuel, cette méthode:
public IEnumerable<ApplicationServer> GetAll()
{
return this.Database.ApplicationServers
.Include(x => x.ApplicationsWithOverrideGroup)
.Include(x => x.ApplicationWithGroupToForceInstallList)
.Include(x => x.CustomVariableGroups)
.ToList();
}
Remplira uniquement la propriété Enabled (ci-dessous) et non les propriétés Application ou CustomVariableGroup (ci-dessous). Comment puis-je y arriver?
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
quand j'essaie ceci: Pour inclure une collection et une collection un niveau plus bas:query.Include(e => e.Level1Collection.Select(l1 => l1.Level2Collection))
.