使用预生成的视图时抛出异常

时间:2015-02-27 10:57:28

标签: entity-framework entity-framework-6

在我的项目中,我有以下设置。

  • 已安装EF6
  • 代码首次迁移
  • 使用Entity Framework Power Tools预生成的视图
  • MVC项目

到目前为止,在添加新代码首次迁移,然后重新生成视图之后,这一直工作正常,我可以看到以下错误:

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");
    }
}

恢复到之前的迁移,删除迁移更改,然后重新生成视图也可以正常工作。

我还试过添加一个随机模型更改,以查看我正在更改的特定表是否有任何问题,但此测试更改失败并出现相同的错误。似乎无论我如何更改模型,都会重新出现相同的错误。

我接下来的另一个测试是从项目中删除预生成的视图文件,但仍然会抛出相同的异常。

其他人经历过类似的事情吗?

0 个答案:

没有答案