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

asp.net-mvc – 无法更新数据库以匹配当前模型,因为存在挂起的更

发布时间:2020-12-16 07:06:59 所属栏目:asp.Net 来源:网络整理
导读:我,对于我的生活,无法摆脱这个错误信息.我几乎尝试了所有我能做到的事情. MyDBContext.cs public MyDBContext() : base("ConnStr_Dev") { } protected override void OnModelCreating(DbModelBuilder modelBuilder) { Database.SetInitializer(new MigrateDa
我,对于我的生活,无法摆脱这个错误信息.我几乎尝试了所有我能做到的事情.

MyDBContext.cs

public MyDBContext() : base("ConnStr_Dev")
    {

    }

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        Database.SetInitializer(new MigrateDatabaseToLatestVersion<MyDBContext,DbMigrationsConfiguration<MyDBContext>>());
        //Database.SetInitializer<MyDBContext>(null);
        base.OnModelCreating(modelBuilder);
    }

GenericRepository.cs

public void Insert(T obj)
    {
        table.Add(obj);      //this is where it throws the error,inserting first time.
    }

尝试了所有这些不同的组合

启用 – 迁移-EnableAutomaticMigrations -Force

添加迁移初始-IgnoreChanges

更新数据库

我已经尝试删除迁移表,删除整个数据库,一切.

有迁移专家吗?

编辑:DAL包含GenericRepository和上下文类.

解决方法

我也和这个错误斗争过.我添加了迁移,然后做了我认为是微不足道的改变.

此属性:迁移中的IMigrationMetadata.Target不是随机的.它是根据迁移完成时模型的状态计算的. (这可能过于简单了.)

因此,如果您进行其他更改,则看起来还有其他待定更改需要进行其他迁移.

在我的情况下,因为更改尚未提交到源代码管理,修复方法是删除并重新添加迁移.需要一段时间来找出原因,因为错误信息不清楚,除非您已经知道是什么导致了它.但我所学到的教训(对EF来说相对较新)是对模型的更改需要新的迁移或重新进行我正在进行的迁移.

(编辑:李大同)

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

    推荐文章
      热点阅读