实体框架包括许多来自嵌套子项



假设我有这样的实体

Person
------
List<Person> Children
List<Item> FaveBooks
List<Item> FaveSweets

如果我想急切地为一个人 ID 加载孩子,这很好。

dataContext.People.Where(x => x.id == personId)
      .Include(x.Children).First()

如果我还想包括儿童最爱的书籍,简单

dataContext.People.Where(x => x.id == personId)
      .Include(x.Children.Select(c => c.FaveBooks)).First()

如何还包括孩子们的最爱糖果?

dataContext.People.Where(x => x.id == personId)
      .Include(x.Children.Select(c => new { c.FaveBooks, c.FaveSweets })).First()

以上不起作用,因为我得到The Include path expression must refer to a navigation property defined on the type.

试试这样的事情。

   dataContext.People.Where(x => x.id == personId).Include(x => x.Children.Select(c => c.FaveBooks)).Include(x => x.Children.Select(c => c.FaveSweets)).First();

最新更新