我正在使用linq获取一行实体并修改它。但是SaveChanges()
由于某种原因没有更新它。
foreach(Kontraktdto k in Kontrakt)
{
var kontrakt = context.LkKontrakter.FirstOrDefault(x => x.KontraktId == k.KontraktId);
if (kontrakt == null)
continue;
var entry = context.Entry(kontrakt);
entry.State = EntityState.Modified;
kontrakt.OpsjonBetingelse = k.OpsjonBetingelse;
kontrakt.OpsjonVarslingsdato = k.OpsjonVarslingdato;
kontrakt.Opsjon = (double)k.Opsjon;
entry.Property(e => e.OpsjonVarslingsdato).IsModified = true;
entry.Property(e => e.OpsjonBetingelse).IsModified = true;
entry.Property(e => e.Opsjon).IsModified = true;
context.LkKontrakter.Update(kontrakt);
}
context.SaveChanges();
我尝试设置Update
方法,将每个属性设置为IsModified = true
,并将EntityState
设置为Modified
。
我真的很想帮助解决这个问题。
答案 0 :(得分:2)
我看到很多代码都没有必要。试试这个......
foreach(Kontraktdto k in Kontrakt)
{
var kontrakt = context.LkKontrakter.FirstOrDefault(x => x.KontraktId == k.KontraktId);
if (kontrakt == null)
{
continue;
}
kontrakt.OpsjonBetingelse = k.OpsjonBetingelse;
kontrakt.OpsjonVarslingsdato = k.OpsjonVarslingdato;
kontrakt.Opsjon = (double)k.Opsjon;
}
context.SaveChanges();