Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Entity framework 数据库第一代实体框架5 System.Data.Entity vs EntityFramework_Entity Framework_Visual Studio 2012_Entity Framework 5 - Fatal编程技术网

Entity framework 数据库第一代实体框架5 System.Data.Entity vs EntityFramework

Entity framework 数据库第一代实体框架5 System.Data.Entity vs EntityFramework,entity-framework,visual-studio-2012,entity-framework-5,Entity Framework,Visual Studio 2012,Entity Framework 5,尝试使用Visual Studio 2012,Entity Framework 5.0数据库优先方法生成我的edmx 当我从数据库VS 2012生成EDMX时,说 已成功注册程序集'System.Data.Entity',版本=4.0.0.0 web.config文件 <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral.../> System.Data.Entity.dll程序集的版本在.NET F

尝试使用Visual Studio 2012,Entity Framework 5.0数据库优先方法生成我的edmx

当我从数据库VS 2012生成EDMX时,说

已成功注册程序集'System.Data.Entity',版本=4.0.0.0

web.config
文件

<add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral.../>

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版本之一。即使在System.Data.Entity.dll的EF5版本中,您也可以继续使用它,但您将无法利用EF5中引入的新功能(如枚举、空间等)。既然您决定迁移到.NET Framework 4.5/EF5,您还应该更新EntityFramework.dll 5.0.0.0。为此,如果尚未安装NuGet扩展名(),则必须安装该扩展名,并且只需使用package manager控制台()安装EntityFramework.dll即可。它将用5.0取代项目中的4.x版本。

感谢您的回复。我没有在VS2010中使用EntityFramework.dll。我在使用.NET 4.5客户端配置文件构建的VS 2012项目中看到EntityFramework.dll和System.Data.Entity。nuget告诉我已经安装了ef 5.0。但是,当我生成edmx时,配置文件仍然显示System.Data.Entity版本4.0.0(我的第一个问题)。不应该说是4.5吗?如果您有任何建议,我们将不胜感激。不,因为.NET Framework 4.5是一个就地更新,程序集版本没有更改,在这两种情况下都将是4.0.0.0。如果要检查给定程序集是.NET Framework 4还是.NET Framework 4.5,则需要检查文件版本-对于.NET Framework 4.0.30319.1,对于.NET Framework 4.5,文件版本为4.0.30319.17929