【发布时间】:2016-12-02 21:15:14
【问题描述】:
我正在使用 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。
我真的很想在这个问题上得到一些帮助。
【问题讨论】:
-
"但是
SaveChanges()出于某种原因没有更新它。"它有什么作用?如果您要更改从具有相同上下文的数据库中提取的对象的属性,则不必设置EntityState.Modified。
标签: c# entity-framework linq