MVC 基架不支持实体框架 6 或更高版本

本文关键字:高版本 版本 不支持 实体 框架 MVC | 更新日期: 2023-09-27 18:33:43

刚刚升级到实体框架 6 看看。我正在使用 MVC4。

但是,当我尝试从模型和上下文创建控制器时,我会收到此消息。

MVC 基架不支持实体框架 6 或更高版本

MVC 基架不支持实体框架 6 或更高版本

认为这可以使用一些扩展:)如上所述 ASP.NET MVC 4 基架不支持 EF6 或更高版本。这意味着必须安装与 MVC 4 兼容的旧 EF。为此:

  1. 打开程序包管理器控制台:
    • 选择工具 -> 库包管理器 ->包管理器控制台
  2. 在程序包管理器控制台中,通过执行以下命令卸载当前 EF 程序包:

    UnInstall-Package EntityFramework -Version <version number>

    *其中<version number>是当前安装的 EF 的版本号。
    *注意:若要了解安装的 EF 版本,请在程序包管理器控制台中运行以下命令:

    Get-Package EntityFramework

  3. 为了避免潜在的元数据问题,需要删除 Web.config 文件中的提供程序条目:

    • 在项目目录中打开 Web.config 文件。
    • 删除以下行:

      <providers> <provider invariantName=System.Data.SqlClient type=System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer /> </providers>

  4. 现在,在包管理器控制台中执行以下命令以安装实体框架 5.0.0:

    Install-Package EntityFramework -Version 5.0.0

经过更多的挖掘

ASP.NET MVC 4 基架不支持实体框架 6 或更高版本。对实体框架 6 基架的支持面向下一版本的 ASP.NET MVC。

所以看起来等到 MVC 5 正确发布

ASP.NET MVC 4 基架不支持实体框架 6 或更高版本。 对脚手架的支持将包含在 MVC5 中。 解决方法是将 EF5 用于基架,然后升级到 EF6。

http://support.microsoft.com/kb/2816241

我搭建 MVC 4EF 6 的控制器和视图的解决方法:

  1. 使用现有或新的 MVC 5 项目并复制实体数据模型您想在 MVC 中创建基架4.
  2. 实体数据模型添加到 MVC 5 DBContext
  3. MVC 5 项目中创建基架控制器和视图这显然适用于 EF 6
  4. 将生成的视图从 MVC 5 复制到旧的 MVC 4 项目

这是

在不想降级 EF 版本时生成基架的解决方案。

对我来说,这是开箱即用的