MVC脚手架不支持Entity Framework 6或更高版本
刚刚升级到Entity Framework 6来看看。 我正在使用MVC4。
但是当我尝试从模型和上下文制作控制器时,我收到了这条消息。
MVC脚手架不支持Entity Framework 6或更高版本
以为这可以使用一些扩展:)如上所述,ASP.NET MVC 4脚手架不支持EF6或更高版本。 这意味着必须安装与MVC 4兼容的旧EF。 去做这个:
- 打开包管理器控制台:
- 选择工具 – >库包管理器 – >包管理器控制台
-
在程序包管理器控制台中,通过执行以下命令卸载当前的EF程序包:
UnInstall-Package EntityFramework -Version
*其中
是当前安装的EF的版本号。
*注意:要找出安装的EF版本,请在程序包管理器控制台中运行以下命令:Get-Package EntityFramework
-
为避免潜在的元数据问题,需要删除Web.config文件中的provider条目:
- 打开项目目录中的Web.config文件。
-
删除以下行:
-
现在,在程序包管理器控制台中执行以下命令以安装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。
解决方法对我来说是支持MVC 4和EF 6的控制器和视图:
- 使用现有的或新的MVC 5项目并复制要在MVC 4中为其创建脚手架的实体数据模型 。
- 将实体数据模型添加到MVC 5 DBContext
- 在MVC 5项目中创建脚手架控制器和视图,这显然适用于EF 6 。
- 将生成的视图从MVC 5复制到旧的MVC 4项目
如果您不想降级EF版本,这是生成脚手架的解决方案。
对我来说,这开箱即用