我刚刚打开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
我的系统一切正常吗?两个文件的存在是否正常?为什么我会收到此错误?
答案 0 :(得分:6)
您应该拥有两个程序集:
EntityFramework.dll (有DbContext API,代码优先)
System.Data.Entity.dll (具有ObjectContext和DbContext API,新功能)
需要两个程序集才能允许Entity Framework团队在不等待.NET Framework的下一个正式版本的情况下发布更新。
.NET 4.5支持 EdmFunction.IsComposableAttribute
,因此请检查您的版本
的 System.Data.Entity.dll 强>
并在此处查看详细答案:https://stackoverflow.com/a/9694963/1241400
提示:
如果你想在Include()
中使用lambda,请为 System.Data.Entity 添加using指令。
答案 1 :(得分: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-a-k-a-microsoft-entity-framework-june-2011-ctp/或者它将困扰你到你的日子结束(或直到你铺平你的机器)。