另一个表上的EF核心3.1 dbcontext.savechanges异常

问题描述

我试图在称为NsTravelDistance的表中插入一条记录,但是在dbcontext.savechanges()上,另一个表引发了异常,我无法弄清楚为什么以及如何解决它。

我正在使用EF核心动力工具对现有数据库中的代码优先模型进行逆向工程。

引发异常的代码:

_dbContext.Set<NsTravelDistance>().Add(new NsTravelDistance()
        {
            Origin = postalCodeOrigin.Substring(0,4),Destination = postalCodeDestination.Substring(0,Duration = travelInformation.Duration,Distance = travelInformation.Kilometers
        });
        _dbContext.SaveChanges();

我得到的异常:“实体类型'NsEmployeeGroupSettings'的属性'GroupId'是键的一部分,因此无法修改或标记为已修改。要更改 具有标识外键的现有实体,首先删除依赖项,然后调用“ SaveChanges”,然后将依赖项与新的主体相关联。“

因为该异常不是由于NsTravelDistance实体引起的,所以我认为数据库上下文有问题,但是我无法弄清楚是什么。

为NsEmployeeGroupSettings实体生成的代码:

modelBuilder.Entity<NsEmployeeGroupSettings>(entity =>
        {
            entity.HasKey(e => e.GroupId)
                .HasName("PK___nsEmplo__149AF30AD10600C6");

            entity.ToTable("_nsEmployeeGroupSettings");

            entity.Property(e => e.GroupId)
                .HasColumnName("GroupID")
                .ValueGeneratedNever();

            entity.HasOne(d => d.Group)
                .WithOne(p => p.NsEmployeeGroupSettings)
                .HasForeignKey<NsEmployeeGroupSettings>(d => d.GroupId)
                .OnDelete(DeleteBehavior.ClientSetNull)
                .HasConstraintName("FK___nsEmploy__Group__371C33B8");
        });

以及为NsTravelDistance实体生成的代码:

            modelBuilder.Entity<NsTravelDistance>(entity =>
        {
            entity.HasKey(e => new { e.Origin,e.Destination });

            entity.ToTable("_nsTravelDistance");

            entity.Property(e => e.Origin)
                .HasMaxLength(6)
                .IsUnicode(false);

            entity.Property(e => e.Destination)
                .HasMaxLength(6)
                .IsUnicode(false);
        });

关于整个问题的最奇怪的部分是,它一直起作用,直到我再次生成dbcontext来包含一些新表和数据库中的更改为止,这些更改都与这两个实体都不相关。

任何帮助将不胜感激!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...