【问题标题】:Database first generation Entity Framework 5 System.Data.Entity vs EntityFramework数据库第一代Entity Framework 5 System.Data.Entity vs EntityFramework
【发布时间】:2013-08-13 11:39:02
【问题描述】:

尝试使用 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.../>
  1. 我看到 EntityFrameworkSystem.Data.Entity 都在参考文献中列出。 EntityFramework 显示在包文件夹中,System.Data.Entity 指向 .NET 4.5 安装文件夹。这是否意味着我成功使用了 EF 5.0?

  2. 对于现有项目迁移 - 当我从 VS 2010 .NET 4.0 迁移项目并将 .NET 客户端配置文件设置为 4.5 时,System.Data.Entity 程序集将升级到 .NET 4.5 安装文件夹中的程序集。我根本看不到EntityFramework.dll。为了让我现有的项目迁移到 EF 5.0 和 .NET 4.5,我是否需要进行任何更改

我错过了什么吗?

【问题讨论】:

    标签: entity-framework visual-studio-2012 entity-framework-5


    【解决方案1】:

    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。它应该将项目中的 4.x 版本替换为 5.0。

    【讨论】:

    • 感谢您的回复。我没有在 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 为 4.0.30319.1,.NET Framework 4.5 为 4.0.30319.17929
    猜你喜欢
    • 1970-01-01
    • 2013-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-06
    • 2013-09-23
    • 2017-01-09
    • 1970-01-01
    相关资源
    最近更新 更多