2011-02-23 23 views

回答

4

GetHashCode has absolutelly different usage。您無法檢測ObjectSet中的更改,因爲它是相關數據庫表的入口點。只有在您接受更改(默認SaveChanges也接受更改)之前,您才能檢測ObjectContext中準備的更改。爲了從ObjectContext利用變化:

context.ObjectStateManager.GetObjectStateEntries(...) 
+0

感謝您的回答。我編輯了我的問題,如果我想檢查表格更改怎麼辦? – ByulTaeng 2011-02-23 11:52:59

+0

@NVA:你爲什麼要這樣做?首先考慮在SQL中做同樣的事情。 – 2011-02-23 11:55:40

+0

我想在TransactionScope內進行很多更改,如果1更改失敗,那麼之前對數據庫所做的所有更改都將回滾。 – ByulTaeng 2011-02-23 12:00:47

0

GetHashCode有可能沒有考慮ObjectSet的項目的真實內容,你不能簡單地檢查你的情況計數或檢查更改的屬性?

+0

感謝快速答覆,但我仍然在尋找一種方法來檢查對象集的狀態,而無需使用GetHashCode()方法 – ByulTaeng 2011-02-23 11:21:02

+0

如果您AddNewUser函數調用後context.DetectChanges()會發生什麼()方法調用? – 2011-02-23 11:26:16

+0

我已經試過了,但它們仍然是一樣的。 – ByulTaeng 2011-02-23 11:33:42

相關問題