在我的项目中,我有以下设置。
到目前为止,在添加新代码首次迁移,然后重新生成视图之后,这一直工作正常,我可以看到以下错误:
The current model no longer matches the model used to pre-generate the mapping views, as indicated by the fooClass.MappingHashValue property.
Pre-generated mapping views must be either regenerated using the current model or removed if mapping views generated at runtime should be used instead. See http://go.microsoft.com/fwlink/?LinkId=318050 for more information on Entity Framework mapping views.
在创建正确形成的迁移时,根本没有生成错误,并且数据库确实可以很好地迁移。运行MVC站点时会出现异常。
为完整起见,模型更改如下:
public class MyClass
{
[Key]
public int MyClassId
//various other properties
public int Version //newly added property
}
并且生成的迁移是:
public partial class AddingVersionNumber : DbMigration
{
public override void Up()
{
AddColumn("dbo.MyClass", "Version", c => c.Int(nullable: false));
}
public override void Down()
{
DropColumn("dbo.MyClass", "Version");
}
}
恢复到之前的迁移,删除迁移更改,然后重新生成视图也可以正常工作。
我还试过添加一个随机模型更改,以查看我正在更改的特定表是否有任何问题,但此测试更改失败并出现相同的错误。似乎无论我如何更改模型,都会重新出现相同的错误。
我接下来的另一个测试是从项目中删除预生成的视图文件,但仍然会抛出相同的异常。
其他人经历过类似的事情吗?