Dan*_*ani 85 c# lambda entity-framework-4
我见过很多关于如何克服这个问题的文章,都与CTP4有关,或者添加了我自己的扩展方法.
是否有一个"官方"EF4包含方式在内部使用lambda表达式(对于第一级关系以及第二级和更多级别)或者它最终是否包含在RTM中?
它有一个 - 我很乐意学习如何做到这一点,因为现在在我的代码中使用lambda表达式(使用#system.data.entity#system.data.linq)仍然给了我:
无法将lambda表达式转换为类型'string',因为它不是委托类型:
var customers = from c in
context.Customers.Include(c=>c.Phone)
Run Code Online (Sandbox Code Playgroud)
cec*_*lip 217
实体框架4.1的RTM版本实际上包括扩展方法中EntityFramework.dll的文件,用于通过拉姆达预先加载Include功能.只需在项目中包含DLL,您就应该能够编写如下代码:
var princesses1 = context.Princesses.Include(p => p.Unicorns).ToList();
Run Code Online (Sandbox Code Playgroud)
请记住添加Import/Using语句以包含System.Data.Entity命名空间.否则编译器找不到扩展方法.例如:
using System.Data.Entity;
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请参阅此ADO.NET团队博客文章.
Aar*_*nLS 86
虽然这个问题暗示了这一点,但对于那些遇到同样问题的人来说,如果他们不能在.Include中使用lambdas,请确保你拥有:
using System.Data.Entity;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
72009 次 |
| 最近记录: |