C# C语言中业务对象的通用历史管理#

C# C语言中业务对象的通用历史管理#,c#,history,C#,History,我想在我的Web API应用程序中实现如下内容: 修改数据的每个事务都应“记录” 日志应该在业务层中完成,可以存储在当前存储数据的常规SQL数据库中,也可以存储在某种NoSQL数据库中 日志文件中的每个事务基本上都存储了执行事务的人、时间、事务以及新旧数据 这可用于查看对象的更改历史,并有助于实现撤消/回滚 我的问题是: 这是否作为某个库/框架存在 这个有名字吗 我有什么明显的缺点没有 问候,, Daniel如果您使用的是DbContext,那么您可以重写SaveChanges方法。像这

我想在我的Web API应用程序中实现如下内容:

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

  • 这是否作为某个库/框架存在
  • 这个有名字吗
  • 我有什么明显的缺点没有
问候,,
Daniel

如果您使用的是DbContext,那么您可以重写SaveChanges方法。像这样:

public override int SaveChanges()
{    
    foreach (var entityState in ChangeTracker.Entries())
    {
        // loggin here
    }
    return base.SaveChanges();
}
或者你可以使用