2013-10-07 66 views
1

我想檢查一個實體對象是否發生了變化(包括是否有任何子對象已被修改)。我使用的是實體框架4.4檢測實體框架對象是否發生了變化

我的代碼基本上從數據庫中加載對象並將值應用於某些屬性(但它們可能與原始數據相同)。

我知道我可以檢查entityObject.EntityState,但是如果孩子有變化,或者是否需要遍歷對象中的所有孩子,它會更新嗎?

這是因爲如果它有我需要運行一大堆其他代碼(如發送電子郵件警報給用戶和東西說價值已更新,但我不想運行該代碼,如果他們尚未更新)。

+0

「EntityState」僅指**該實體**而不是其所有子項。如果您需要知道該實體或其任何子項是否已被修改,則需要遍歷子樹,並檢查每個子實體的EntityState屬性, –

+0

我希望避免這種情況,就像我添加另一張桌子我可能忘記穿過那張桌子。有沒有辦法讓所有的孩子都可以寫出一個通用的方法,即使在後期的模式更改時也能遍歷它們? – DermFrench

+1

嗯,也許通過使用遞歸? – walther

回答

相關問題