我要檢查是否有一個表與下面的代碼有什麼變化在EF 4.0:在Entity Framework 4.0中檢測ObjectSet中的更改?
var a = context.Users.GetHashCode();
AddNewUser();
context.SaveChanges();
var b = context.Users.GetHashCode();
A == B,我不知道爲什麼?
任何幫助將不勝感激!
我要檢查是否有一個表與下面的代碼有什麼變化在EF 4.0:在Entity Framework 4.0中檢測ObjectSet中的更改?
var a = context.Users.GetHashCode();
AddNewUser();
context.SaveChanges();
var b = context.Users.GetHashCode();
A == B,我不知道爲什麼?
任何幫助將不勝感激!
GetHashCode
has absolutelly different usage。您無法檢測ObjectSet
中的更改,因爲它是相關數據庫表的入口點。只有在您接受更改(默認SaveChanges
也接受更改)之前,您才能檢測ObjectContext
中準備的更改。爲了從ObjectContext
利用變化:
context.ObjectStateManager.GetObjectStateEntries(...)
感謝您的回答。我編輯了我的問題,如果我想檢查表格更改怎麼辦? – ByulTaeng 2011-02-23 11:52:59
@NVA:你爲什麼要這樣做?首先考慮在SQL中做同樣的事情。 – 2011-02-23 11:55:40
我想在TransactionScope內進行很多更改,如果1更改失敗,那麼之前對數據庫所做的所有更改都將回滾。 – ByulTaeng 2011-02-23 12:00:47