DbQuery.Include()方法:是否存在强类型变体?

时间:2014-04-17 14:43:17

标签: c# entity-framework strong-typing

这是EF6。我可以在我的查询中包含.Include()方法(没有双关语)来从相关表中加载信息。但是看起来.Include()方法只接受字符串参数。有没有办法以强类型的方式做到这一点?因此,例如,我可以编写类似MyContext.catalog_item.Include("picture")的内容,而不是编写MyDB.catalog_item.Include(i => i.picture),以获得智能感知等所有优势。

2 个答案:

答案 0 :(得分:11)

是的,System.Data.Entity

中有一个强类型变体

用法是

.Include(i => i.Property)

参考页面提供了有关如何在集合中包含集合和属性的示例。

示例:

query.Include(e => e.Level1Collection.Select(l1 => l1.Level2Reference)).

答案 1 :(得分:0)

在EF 5中添加了IQueryable扩展方法:

http://msdn.microsoft.com/en-us/library/gg671236%28v=vs.103%29.aspx

您可能想要了解如何执行嵌套导航属性的包含