發送它我們有股的EntityFramework執行的工作,所以當我們使用的ObjectContext,並向實體的任何更改它是跟蹤,然後調用SaveChanges它是所有體現在底層數據庫中。的EntityFramework,工作單位 - 跟蹤自定義數據的變化,並通過WebService的
但是,如果我想跟蹤我的自定義類的變化,所以每次修改都找到了,並通過Web服務調用發送的是什麼?
我有web服務,其提供我一些數據,即數據顯示在數據網格然後可以被修改。我想跟蹤所有的變化,然後能夠通過web服務發送只有已修改的數據。有沒有像EntityFramework或POCO之類的解決方案?或者我必須爲它實施我自己的工作單元模式?
如果您要改變客戶端上的多個對象,並且你想跟蹤哪些用戶已經改變了,你可以在客戶端負責跟蹤已得到改變的對象,並只發送這些對象到批量的網絡服務。這就是我的問題如何才能讓客戶負責跟蹤良好的編碼習慣以適當的方式更改對象?我想到了在調用Save()時通過線路發送修改數據的工作單元實現。這是一個解決方案嗎? – kkris1983
@ kkris1983:問題出現的方式,聽起來像您希望您的EF上下文嘗試繼續跟蹤客戶端所做的更改。如何跟蹤客戶端更改取決於客戶端框架,而不是EF/WCF。例如,如果要將實體解析爲Javascript對象,則可以輕鬆地爲每個被修改的對象添加「IsChanged = true」屬性。如果您使用Silverlight,則可以使用字典來跟蹤每個被修改的對象。 – StriplingWarrior
在字典或任何其他集合中存儲更改的問題是,從WebService收到的組合對象具有包含其他類型對象集合的對象集合。因此,如果在最深的對象中進行了任何更改,則鏈中包含對象的所有對象都需要標記爲髒,並且在編輯完成後,所有內容都需要作爲參數傳遞給webservice方法調用。如何跟蹤這種變化鏈? – kkris1983