当前模型不再匹配用于预生成映射视图的模型

Pio*_*rek 11 asp.net asp.net-mvc entity-framework

我最近编辑了一个模型,并为我的项目添加了一些新模型.我在控制台和升级后的数据库中键入了"add-migration sth".现在,当我想通过我的MVC站点连接到db时,我收到此错误:

当前模型不再匹配用于预生成映射视图的模型,如ViewsForBaseEntitySets8f8ed3558b66b3b0b5bd7e2867696566a8a1964469dfa075926133c040704be5.MappingHashValue属性所示.必须使用当前模型重新生成预生成的映射视图,或者如果应使用在运行时生成的映射视图,则必须将其删除.有关Entity Framework映射视图的更多信息,请参见http://go.microsoft.com/fwlink/?LinkId=318050.

我发现信息可能是安装旧EF的原因,但我想我有最近的一个:

<package id="EntityFramework" version="6.1.2" targetFramework="net45" />
Run Code Online (Sandbox Code Playgroud)

怎么了?怎么解决?

Pio*_*rek 10

我看到其他人也有同样的问题.

解决方案如下所述:https: //msdn.microsoft.com/en-us/data/dn469601.aspx

您所要做的就是右键单击您使用DbContext类的文件,从下拉菜单中选择"Entity Framework",然后单击"生成视图".

原因是:"视图"文件不适合模型,因此您必须使用我在此处提到的选项再次生成它.

更新: 以上解决方案需要EF Power Tools,遗憾的是Visual Studio 2015不支持.最后正式,因为无论如何都可以安装它,具体如下:http://thedatafarm.com/data-access/installing-ef-power -tools -进入- vs2015 /

如果链接不起作用:

  1. 下载Ef Power Tools
  2. 下载的文件有*.vsix扩展名.手动更改为*.zip
  3. extension.vsixmanifest
  4. 添加14.0版本<SupportedProducts>(与其他当前版本相同) 在此输入图像描述
  5. 反转所有步骤,再次创建*.vsix文件
  6. 运行它,在Visual Studio上安装

现在我不知道其他任何简单的方法.