为什么无法检查模型兼容性?

时间:2015-03-30 14:53:50

标签: c# asp.net entity-framework

我不得不从前大学工作。所以我运行没有数据库的asp.net解决方案。它创建了一个数据库。我认为这是Code First或Code First Migrations。

然后我在de UI中尝试了一些测试并收到此消息:

  

发生了'System.NotSupportedException'类型的异常   EntityFramework.dll但未在用户代码中处理

     

其他信息:无法检查模型兼容性,因为   数据库不包含模型元数据。型号兼容性可以   仅检查使用Code First或Code First创建的数据库   迁移。

这是de message来自的代码。

public class TemInitializer : System.Data.Entity.DropCreateDatabaseIfModelChanges<ApplicationDbContext>
{
    public override void InitializeDatabase(ApplicationDbContext context)
        {
            base.InitializeDatabase(context);
        }
}

有人能告诉我如何解决这个或我需要看的地方吗?

1 个答案:

答案 0 :(得分:11)

如果数据库架构不再与代码中的类匹配,则DropCreateDatabaseIfModelChanges初始化程序将删除并重新创建数据库。它确定&#34;模型是否发生变化&#34;通过查看您的类并查看数据库中名为_MigrationHistory的表。如果没有这样的表,它会在问题中抛出异常。

所以要解决这个问题,你可以: