尝试使用Visual Studio 2012,Entity Framework 5.0数据库第一种方法来生成我的edmx。
当我从数据库VS 2012生成EDMX时 - 说
成功注册了程序集'System.Data.Entity,Version = 4.0.0.0;
web.config
文件也说
<add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral.../>
我看到参考文献中列出了EntityFramework
和System.Data.Entity
。 EntityFramework
显示在packages文件夹中,System.Data.Entity
指向.NET 4.5安装文件夹。这是否意味着我成功使用EF 5.0?
对于现有项目迁移 - 当我从VS 2010 .NET 4.0迁移项目并将.NET客户端配置文件设置为4.5时,System.Data.Entity
程序集将升级到.NET 4.5安装文件夹中的程序集。我根本没有看到EntityFramework.dll
。是否需要进行任何更改才能将现有项目转换为EF 5.0和.NET 4.5
我在这里错过了什么吗?
答案 0 :(得分:0)
System.Data.Entity.dll程序集的版本在.NET Framework 4和.NET Framework 4.5上都是相同的。问题是,同时只能在一台机器上安装一个版本,因此,即使您在项目中使用.NET Framework 4但在使用.NET Framework 4.5的计算机上运行应用程序,您也可以针对.NET Framework有效地运行它4.5(因此是System.Data.Entity.dll程序集的EF5版本)。 关于EntityFramework.dll - 直到版本6,它构建在System.Data.Entity.dll之上(在EF6中,来自System.Data.Entity.dll和EntityFramework.dll的代码被合并并进一步发展)。如果您在VS2010中使用EntityFramework.dll,则意味着它必须是作为EF4的4.x版本之一。即使使用EF5版本的System.Data.Entity.dll,您仍可以继续使用它,但是您将无法利用EF5中引入的新功能(如枚举,空间等)。由于您决定转移到.NET Framework 4.5 / EF5,您还应该更新EntityFramework.dll 5.0.0.0。要做到这一点,你必须安装NuGet扩展(http://docs.nuget.org/docs/start-here/installing-nuget),如果你还没有,只需使用包管理器控制台(http://www.nuget.org/packages/EntityFramework/5.0.0)安装EntityFramework.dll。它应该用5.0替换项目中的4.x版本。