我正在使用ADO.NET Entity Framework来处理我的SQL Server 2008 R2实例。一切都工作正常(我正在修改其他表),直到我创建了新的editEntity
方法,在修改后无法刷新实体,直到我重新启动程序。
这是我的疑问:
TD_LIVING living = (from l in _model.TD_LIVING
where l.LEASE_START == leaseStart
&& l.TD_FLAT_ID == flat.TD_FLAT_ID
select l).FirstOrDefault();
living.LEASE_END = signOffDate;
int changesCount = UpdateContext.SaveChanges();
实体已修改(我已检查ObjectStateEntry
),SaveChanges()
返回1,但是当我获得所有TD_LIVING
的列表时,值仍旧。
我试过用
_model.Refresh(RefreshMode.ClientWins, living);
当失败时我尝试创建我附加实体的新上下文:
badbEntities UpdateContext = new badbEntities();
UpdateContext.Attach(living);
living.LEASE_END = signOffDate;
int changesCount = UpdateContext.SaveChanges(SaveOptions.AcceptAllChangesAfterSave);
没有帮助......
答案 0 :(得分:2)
你不需要:
UpdateContext.SaveChanges(living)
否则它不知道要更新什么。