Метод Include () хорошо работает для списков объектов. Но что, если мне нужно пройти два уровня? Например, метод ниже вернет ApplicationServers с включенными свойствами, показанными здесь. Однако ApplicationsWithOverrideGroup - это другой контейнер, который содержит другие сложные объекты. Могу ли я сделать функцию Include () для этого свойства? Или как я могу получить это свойство для полной загрузки?
В нынешнем виде этот метод:
public IEnumerable<ApplicationServer> GetAll()
{
return this.Database.ApplicationServers
.Include(x => x.ApplicationsWithOverrideGroup)
.Include(x => x.ApplicationWithGroupToForceInstallList)
.Include(x => x.CustomVariableGroups)
.ToList();
}
Заполняет только свойство Enabled (ниже), но не свойства Application или CustomVariableGroup (ниже). Как мне это сделать?
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
при попытке это: Для того, чтобы включать в себя коллекцию , а затем уровень сбора один вниз:query.Include(e => e.Level1Collection.Select(l1 => l1.Level2Collection))
.