c# – 使用包含在实体框架4与lambda表达式

我看过很多关于如何克服这个问题的文章,所有相关的CTP4,或者添加我自己的扩展方法。

是否有一个“官方”EF4包括方式使用lambda表达式包含(对于第一级关系,还有第二级和更多级别)或最终是否包括在RTM?

它有一个 – 我很高兴学习如何做,因为在我的代码中使用lamdba表达式(使用#system.data.entity#system.data.linq)仍然给我:

无法将lambda表达式转换为类型“字符串”,因为它不是委托类型
上:

var customers = from c in
context.Customers.Include(c=>c.Phone)

谢谢。

Entity Framework 4.1的RTM版本实际上包括EntityFramework.dll文件中的扩展方法,以便通过Include函数快速加载lambda。只要在你的项目中包含DLL,你应该能够编写如下代码:

var princesses1 = context.Princesses.Include(p => p.Unicorns).ToList();

记住添加一个Import / Using语句以包括System.Data.Entity命名空间。否则编译器无法找到扩展方法。例如:

using System.Data.Entity;

有关详细信息,请参阅此ADO.NET team blog文章。

http://stackoverflow.com/questions/4544756/using-include-in-entity-framework-4-with-lambda-expressions

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:c# – 使用包含在实体框架4与lambda表达式