28

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

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

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

4

4 回答 4

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 文件中的提供程序条目:

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

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

  4. 现在,在 Package Manager Console 中执行以下命令来安装 Entity Framework 5.0.0:

    Install-Package EntityFramework -Version 5.0.0

于 2014-11-26T14:02:38.803 回答
14

经过多一点的挖掘

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

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

于 2013-10-03T17:28:36.210 回答
10

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

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

于 2013-10-03T17:30:33.997 回答
1

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

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

如果您不想降级 EF 版本,这是生成脚手架的解决方案。

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

于 2015-07-25T05:44:46.333 回答