MVC脚手架不支持Entity Framework 6或更高版本

时间:2013-10-03 17:25:56

标签: c# asp.net-mvc-4 entity-framework-6

刚刚升级到Entity Framework 6来看看。我正在使用MVC4。

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

  

MVC脚手架不支持Entity Framework 6或更高版本

4 个答案:

答案 0 :(得分:29)

认为这可以使用一些扩展:)如上所述,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文件中的provider条目:

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

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

  4. 现在,在软件包管理器控制台中执行以下命令来安装Entity Framework 5.0.0:

    Install-Package EntityFramework -Version 5.0.0

答案 1 :(得分:14)

经过多一点挖掘

  

ASP.NET MVC 4脚手架不支持Entity Framework 6或更高版本。支持Entity Framework 6的脚手架是针对下一版ASP.NET MVC的目标。

看起来好像等待MVC 5正确发布

答案 2 :(得分:10)

ASP.NET MVC 4脚手架不支持Entity Framework 6或更高版本。支持脚手架将包含在MVC5中。解决方法是使用EF5进行脚手架,然后升级到EF6。

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

答案 3 :(得分:1)

对我来说,为 MVC 4 EF 6 支持控制器和视图的解决方法:

  1. 使用现有的或新的 MVC 5 项目并复制实体数据模型 您想要在 MVC中创建脚手架 4 即可。
  2. 实体数据模型添加到 MVC 5 DBContext
  3. MVC 5 项目中创建脚手架控制器和视图 这显然适用于 EF 6
  4. 将生成的视图从 MVC 5 复制到旧的 MVC 4 项目
  5. 如果您不想降级EF版本,这是一个生成脚手架的解决方案。

    对我而言,这开箱即用