为什么我的项目中同时存在EntityFramework和System.Data.Entity程序集?

And*_*ena 2 .net entity-framework visual-studio-2012

我刚刚打开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
Run Code Online (Sandbox Code Playgroud)

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

Mat*_*cic 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,请Include()System.Data.Entity添加using指令.


Paw*_*wel 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
Run Code Online (Sandbox Code Playgroud)

卸载实体框架2011年6月CTP.我前段时间在博客上发表过这样的文章:http://blog.3d-logic.com/2012/04/11/entity-framework-zombie-aka-microsoft-entity-framework-june-2011-ctp/或者它将会出没你到了你的日子结束(或直到你铺平你的机器).