“无法将lambda表达式转换为类型'string',因为它不是.NET 4.5中的委托类型”

时间:2012-10-11 20:04:19

标签: entity-framework

我在测试机器上测试VS2012中的现有.NET 4.0解决方案(只安装了VS2012和SQL Server 2008),当我尝试将lambda语法与Include扩展方法一起使用时,我遇到了上述错误

该解决方案的现有版本引用了EntityFramework.dll,这是我必须添加以使用Include方法的那个,但我在VS2012中看到的升级版本没有这样的引用,也没有我可以在其他计算机上找到该名称的DLL。 System.Data.Entity的using语句是灰色的,因为ReSharper认为不需要它。不知道为什么。

示例代码:这是现有解决方案中的内容......

using (var context = new RSSFeedsEntities()) {  
  WebSite someSite = context.WebSites.Include(w => w.Feeds).FirstOrDefault(w => w.WebSiteID == 1);  
}

知道如何解决这个问题吗?感谢

1 个答案:

答案 0 :(得分:2)

啊哈哈!找到了答案。

微软,他们,咳嗽,智慧,使(在我看来)盲目愚蠢的决定不让实体框架像开发机架的其他部分一样安装,而是使最新版本仅作为NuGet包提供。为什么他们做到这一点超出了我的范围,因为我现在必须为每个解决方案单独安装EF,而不是安装锥体并立即将其提供。

无论如何,我使用NuGet包管理器来安装EF 5.0,错误就消失了。

希望这有助于某人。