0

我想在我的 Web API 应用程序中实现类似的东西:

  • 每个修改数据的事务都应该被“记录”
  • 日志应该在业务层完成,并且可以存储在当前存储数据的常规 SQL 数据库中,也可以存储在某种 NoSQL 数据库中。
  • 日志文件中的每个事务基本上都存储了谁执行了事务、何时、什么事务以及旧/新数据。
  • 这可用于查看对象的更改历史记录,并有助于实现撤消/回滚。

我的问题是:

  • 这是否作为库/框架存在于某处?
  • 这个有名字吗?
  • 有没有我遗漏的明显缺陷?

问候,丹尼尔

4

1 回答 1

0

如果您使用的是 DbContext,在这种情况下,您可以覆盖SaveChanges方法。像这样:

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

或者您可以使用EFTracingProvider

于 2013-04-17T21:19:53.503 回答