加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 23:45:45 所属栏目:百科 来源:网络整理
导读:我不得不从前大学工作.所以我运行没有数据库的asp.net解决方案.它创建了一个数据库.我认为这是Code First或Code First Migrations. 然后我在de UI中尝试了一些测试并获得此消息: An exception of type ‘System.NotSupportedException’ occurred in Entity
我不得不从前大学工作.所以我运行没有数据库的asp.net解决方案.它创建了一个数据库.我认为这是Code First或Code First Migrations.

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

An exception of type ‘System.NotSupportedException’ occurred in
EntityFramework.dll but was not handled in user code

Additional information: Model compatibility cannot be checked because
the database does not contain model metadata. Model compatibility can
only be checked for databases created using Code First or Code First
Migrations.

这是de消息来自的代码.

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

任何人都可以告诉我如何解决这个或我需要看的地方?

解决方法

如果数据库模式不再与代码中的类匹配,DropCreateDatabaseIfModelChanges初始化程序将删除并重新创建数据库.它通过查看您的类并查看数据库中名为_MigrationHistory的表来确定“模型是否更改”.如果没有这样的表,它会抛出问题中的异常.

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

>使用不同的初始化程序(例如DropCreateDatabaseAlways)或
>通过启用Entity Framework code first migrations,确保数据库中有_MigrationHistory表.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读