我正在.net Core 3.0中处理Entity Framework Core 3.0 但是当我尝试更新此项目(仅此类,在db first模型中)时,它给了我这个错误
Sql异常。无法更新标识列“ IDNRR”
我只是从X表中获取一个项目,然后使用context.Update命令保存它
单元测试异常
var c = _dbContext.TblWoTaskExtServices.SingleOrDefault(x => x.Idnrr == 15273778);
_dbContext.Update(c);
_dbContext.SaveChanges(); -> execute this give me the sql exception
类定义
modelBuilder.Entity<TblWoTaskExtServices>(entity =>
{
entity.HasKey(e => new { e.ExternalServiceCode,e.IdWotask });
entity.ToTable("tbl_WO_TASK_EXT_SERVICES");
entity.HasIndex(e => e.Idnrr)
.Hasname("IX_tbl_WO_TASK_EXT_SERVICES")
.IsUnique();
entity.Property(e => e.ExternalServiceCode)
.HasMaxLength(255)
.IsUnicode(false);
entity.Property(e => e.IdWotask).HasColumnName("IdWOTask");
entity.Property(e => e.DateIns).HasColumnType("smalldatetime");
entity.Property(e => e.DateMod).HasColumnType("smalldatetime");
entity.Property(e => e.ExternalServiceDescription).HasColumnType("text");
entity.Property(e => e.Idnrr)
.HasColumnName("IDNRR")
.ValueGeneratedOnAdd();
entity.Property(e => e.Notes).HasColumnType("text");
entity.Property(e => e.TotalCost).HasColumnType("decimal(18,2)");
entity.Property(e => e.TotalCostFinal).HasColumnType("decimal(18,2)");
entity.HasOne(d => d.IdCompanyNavigation)
.WithMany(p => p.TblWoTaskExtServices)
.HasPrincipalKey(p => p.Idnrr)
.HasForeignKey(d => d.IdCompany)
.OnDelete(DeleteBehavior.ClientSetNull)
.HasConstraintName("FK_tbl_WO_TASK_EXT_SERVICES_tbl_COMPANIES");
entity.HasOne(d => d.IdCostClassnavigation)
.WithMany(p => p.TblWoTaskExtServices)
.HasPrincipalKey(p => p.Idnrr)
.HasForeignKey(d => d.IdCostClass)
.HasConstraintName("FK_tbl_WO_TASK_EXT_SERVICES_tbl_COST_CLASSES");
entity.HasOne(d => d.IdCurrencyNavigation)
.WithMany(p => p.TblWoTaskExtServices)
.HasPrincipalKey(p => p.Idnrr)
.HasForeignKey(d => d.IdCurrency)
.HasConstraintName("FK_tbl_WO_TASK_EXT_SERVICES_tbl_Currencies");
});
}