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

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

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

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

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

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

    UnInstall-Package EntityFramework -Version

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

    Get-Package EntityFramework

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

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

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

    Install-Package EntityFramework -Version 5.0.0

经过多一点挖掘

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

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

ASP.NET MVC 4脚手架不支持Entity Framework 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版本,这是生成脚手架的解决方案。

对我来说,这开箱即用