我有一個ObjectContext與更新方法。該方法將一個通用對象作爲參數。我需要將此對象附加到ObjectContext並使用對象所具有的更改來更新數據庫。例如,我創建了一個與數據庫中的鍵和實體具有相同鍵的新對象,但其中一些字段是不同的。我想將對象附加到數據庫中相應的實體,並讓它保存新對象所做的更改。以下是我在更新方法:
ObjectContext從分離狀態更新對象
public void Update(BaseObject data, entitySetName)
{
AttachTo(entitySetName, data);
Refresh(RefreshMode.ClientWins, data);
SaveChanges();
}
刷新後,得到的數據從數據庫中的字段覆蓋。退出刷新也不會更新數據庫記錄。我錯過了一步嗎?
我添加了ApplyOriginalValues(entitySetName,data);刷新之後,刷新之前和刪除之前刷新所有與之前使用數據庫中更新值更新的結果相同的結果。 – MBU
我認爲這是反正...我編輯上面。您可以在保存之前使用Context.DetectChanges(),或者告訴狀態管理員您的數據已被修改。 –