简单的问题但是从实体框架MSDN示例和其他搜索中我无法看到正确的方法。
我可以像这样显式加载EF集合:
db.Entry(project).Collection(p => p.Reports).Load();
但是如果每个报告都有一个需要加载的页面列表,我该怎么做?我认为它是这样的:
db.Entry(project.Reports).Collection(r => r.Pages).Load();
但这不会起作用,因为' r'是一份报告的ICollection。在集合中加载集合的正确方法是什么?
答案 0 :(得分:4)
您可以使用以下语法:
db.Entry(project).Collection(p => p.Reports)
.Query()
.Include(r => r.Pages).Load();
根据MSDN,Query ...
返回将用于从数据库加载此集合的查询。可以修改返回的查询
...这意味着Include
也可以应用于它。