2013-04-17 61 views
0

我想實現我的Web API的應用程序是這樣的:通用歷史管理

  • 每個修改數據應該是交易「登陸」
  • 日誌應該做業務層,可以存儲在當前存儲數據的常規SQL數據庫中,也可以存儲在某種NoSQL數據庫中。
  • 日誌文件中的每個事務基本上存儲誰執行了事務,何時,什麼事務以及舊/新數據。
  • 這可以用來查看對象的更改歷史記錄,並可以幫助實現撤消/回滾。

我的問題是:

  • 這是否存在,作爲一個庫/框架的地方?
  • 這是否有名字?
  • 我有什麼明顯的缺陷?

問候, 丹尼爾

回答

0

如果您使用的DbContext,在這種情況下,您可以覆蓋的SaveChanges方法。像這樣:

public override int SaveChanges() 
{  
    foreach (var entityState in ChangeTracker.Entries()) 
    { 
     // loggin here 
    } 
    return base.SaveChanges(); 
} 

或者你可以使用EFTracingProvider