我目前正在编写审计跟踪。到目前为止,一切都很好。现在我偶然发现了将来自某些控制器/操作的读取/选择请求注册到特定表上的数据库(实体框架)的过程。例如 Linq Select 查询。
我如何监视对数据库的请求,寻找类似于 SavingChanges 事件的内容。
我一直在使用 ObjectMaterialized,但它不是我想要的,数据库触发器也不是 atm 选项。
有什么建议么?
我目前正在编写审计跟踪。到目前为止,一切都很好。现在我偶然发现了将来自某些控制器/操作的读取/选择请求注册到特定表上的数据库(实体框架)的过程。例如 Linq Select 查询。
我如何监视对数据库的请求,寻找类似于 SavingChanges 事件的内容。
我一直在使用 ObjectMaterialized,但它不是我想要的,数据库触发器也不是 atm 选项。
有什么建议么?
您可以尝试编写自己的实体框架提供程序包装器,它将记录您需要的所有信息。例如有:Tracing and Caching Provider Wrappers for Entity Framework
与@Maess。只需创建一个将审计交给审计类的数据访问类。就像是:
class DataAccess
{
void UpdateEntity(Entity entity)
{
_entityAudit.UpdateAudit(entity, _currentUser);
// your update logic
var existing = _dataSet.SingleOrDefault(e => e.ID == entity.ID);
...
}
}