0

我目前正在编写审计跟踪。到目前为止,一切都很好。现在我偶然发现了将来自某些控制器/操作的读取/选择请求注册到特定表上的数据库(实体框架)的过程。例如 Linq Select 查询。

我如何监视对数据库的请求,寻找类似于 SavingChanges 事件的内容。

我一直在使用 ObjectMaterialized,但它不是我想要的,数据库触发器也不是 atm 选项。

有什么建议么?

4

2 回答 2

2

您可以尝试编写自己的实体框架提供程序包装器,它将记录您需要的所有信息。例如有:Tracing and Caching Provider Wrappers for Entity Framework

于 2013-06-03T13:16:12.457 回答
0

与@Maess。只需创建一个将审计交给审计类的数据访问类。就像是:

class DataAccess
{
    void UpdateEntity(Entity entity)
    {
        _entityAudit.UpdateAudit(entity, _currentUser);

        // your update logic
        var existing = _dataSet.SingleOrDefault(e => e.ID == entity.ID);
        ...
    }
}
于 2013-06-03T13:16:43.230 回答