2

我刚刚打开 VS 2012 并创建了一个类库项目。之后,我ADO.NET Entity Data Model在我的解决方案中添加了一个新项目。

我注意到有一个名为 EntityFramework 5.0 的程序集和另一个名为 System.Data.Entity 4.0 的程序集。不应该只有一个吗?

作为奖励问题,当我单击文件时,设计器崩溃:

Error   2   Error 6039: warning CS1701: Assuming assembly reference 'System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' matches 'System.Data.Entity, Version=4.2.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089', you may need to supply runtime policy
c:\Users\andre_pena\AppData\Local\Temp\5srvr0ge.0.cs(465,29) : error CS1061: 'System.Data.Metadata.Edm.EdmFunction' does not contain a definition for 'IsComposableAttribute' and no extension method 'IsComposableAttribute' accepting a first argument of type 'System.Data.Metadata.Edm.EdmFunction' could be found (are you missing a using directive or an assembly reference?)    c:\users\andre_pena\documents\visual studio 2012\Projects\ClassLibrary2\ClassLibrary2\Model1.edmx   1   1   ClassLibrary2

我的系统一切正常吗?两个文件都存在正常吗?为什么我会收到此错误?

4

2 回答 2

6

你应该有两个程序集:

EntityFramework.dll(具有 DbContext API,代码优先)

System.Data.Entity.dll(具有 ObjectContext 和 DbContext API,新功能)

需要两个程序集是为了让 Entity Framework 团队无需等待 .NET Framework 的下一个正式版本即可发布更新。

EdmFunction.IsComposableAttribute在 .NET 4.5 中受支持,因此请检查 System.Data.Entity.dll的版本

在此处输入图像描述

并在此处查看详细答案:https ://stackoverflow.com/a/9694963/1241400

提示:

如果您想使用 lambda 并为System.Data.EntityInclude()添加 using 指令。

于 2012-11-09T19:11:35.483 回答
5

关于:

Error   2   Error 6039: warning CS1701: Assuming assembly reference 'System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' matches 'System.Data.Entity, Version=4.2.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089', you may need to supply runtime policy

卸载实体框架 2011 年 6 月 CTP。我前段时间写了一篇博客:http: //blog.3d-logic.com/2012/04/11/entity-framework-zombie-aka-microsoft-entity-framework-june-2011-ctp/否则它会困扰你到你的日子结束(或直到你铺好你的机器)。

于 2012-11-09T19:37:51.537 回答