2011-09-02 103 views
3

任何人都可以指導我在我的實體框架模型中實施更改跟蹤的好策略嗎?通過實體框架記錄更改

我有大約20個實體來跟蹤(通過外觀/工作單元訪問)的變化,我需要能夠顯示在UI中顯示記錄時誰改變了什麼。

我知道有Context.OnSavingChanges(或任何它被稱爲),但我很可能要訪問的變化查詢,如context.MyEntity.ChangeLog

我必須創建一個更新日誌實體,加入協會的所有實體還是有更好的通過Savingchanges通過?

Richard

P.週末愉快!

回答

3

實體框架是ORM =負責從數據庫中持久化和加載的API。您堅持或加載的內容完全取決於您,如果您想要更改跟蹤,則必須對其進行編碼。

最常見的方法確實使用OnSavingChanges或覆蓋SaveChanges,因爲您通常保存單個用戶執行的更改。

-1

請參閱FrameLog,這是我爲此編寫的開源庫。您可以從SaveChanges中調用它,並處理其餘部分,包括爲您提供用於查詢日誌的強類型API。

+0

我很想知道爲什麼downvotes,所以我可以提高我的答案。 –

0

一個古老的問題,但對於任何尋求EF> = 6或EF Core的審計更改的人來說,我都在開發一個可以嘗試的開源庫Audit.EntityFramework