我有一個包裝實體框架4數據模型的WCF數據服務。我使用WCF數據服務客戶端庫將WPF客戶端連接到該服務。WCF數據服務更改跟蹤:如何取消保存更改並恢復到對象的原始值
是否可以在WCF數據服務中撤消/取消對跟蹤對象的更改?
方案:在UI中,我允許用戶編輯對象。我有保存和取消按鈕。如果用戶選擇保存我在我的WCF上下文中調用SaveChanges(),並通過WCF服務將更改發送到數據庫。如果用戶單擊取消,我想撤消更改並恢復爲當前對象的原始屬性值。
我知道WCF數據服務客戶端庫內置了更改跟蹤 - 但我無法找到任何訪問此信息的方式。
在Entity Framework中,上下文支持Refresh方法,您可以指定RefreshMode.StoreWins並傳遞對象 - 這將有效地取消/撤消任何更改。 記錄在這裏:http://msdn.microsoft.com/en-us/library/bb896255.aspx
有關我如何在我的客戶端應用程序中的WCF DataServices中實現相同的任何建議?
歡呼 克里斯
非常感謝,我會看看如果我可以得到這個工作 – Chris
僅供參考:目前我使用BindingGroup BeginEdit解決此問題,CancelEdit和(ValidateWithoutUpdate和)CommitEdit。只需在DataContextChanged事件中執行BeginEdit,並在取消按鈕Click-Event中執行CancelEdit。在確定按鈕Click-Event中,先驗證驗證(ValidateWithoutUpdate),驗證成功後執行CommitEdit。 – Mark