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

时间:2015-01-19 16:05:43

标签: asp.net asp.net-mvc entity-framework

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

  

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

我发现信息可能是blame of old EF installed,但我认为我有最新的信息:

<package id="EntityFramework" version="6.1.2" targetFramework="net45" />

怎么了?如何解决?

1 个答案:

答案 0 :(得分:7)

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

此处描述了解决方案: https://msdn.microsoft.com/en-us/data/dn469601.aspx

您需要做的就是右键单击您使用DbContext课程的文件,从下拉菜单中选择“实体框架”,然后单击“生成视图”。

原因是:“视图”文件不适合模型,所以你必须使用我在这里提到的选项再次生成它。

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

如果链接不起作用:

  1. 下载Ef Power Tools
  2. 下载的文件扩展名为*.vsix。将其手动更改为*.zip
  3. 查找extension.vsixmanifest
  4. 14.0中添加<SupportedProducts>版本(与其他现有版本相同) enter image description here
  5. 撤消所有步骤,再次创建*.vsix文件
  6. 运行它,在Visual Studio上安装
  7. 现在我不知道其他任何简单的方法。