我有一段代码无法正常工作:
StoreDataHandler dataHandler = new StoreDataHandler(HttpContext.Request["data"]);
ChangeRecords<ChequeDiary> data = dataHandler.ObjectData<ChequeDiary>();
foreach (ChequeDiary item in data.Updated) {
db.ChequeDiaries.Attach(item);
db.Refresh(System.Data.Objects.RefreshMode.ClientWins, item);
}
这是为了获取更改并更新底层对象,但是当我调用
db.SaveChanges();
..没有更新。如果我使用:
foreach (ChequeDiary item in data.Updated) {
ChequeDiary obj = db.ChequeDiaries.FirstOrDefault(o => o.Id == item.Id);
obj.BankedAmount = item.BankedAmount;
}
并明确设置每个属性,它的工作原理。为什么?!