【发布时间】:2017-10-30 13:18:23
【问题描述】:
在 Entity Framework Core 中,您可以覆盖 DbContext 中的 SaveChanges/SaveChangesAsync 方法,并根据不同的状态,例如:EntityState.Added 或 EntityState.Modified 或 EntityState.Deleted,您可以创建一些关于审计的解决方案何时何人创建、修改或删除某些记录。您可以在操作之前和之后保存实体的状态。这里的一切都很完美!
我们可以为读取/查询/选择/查看操作做类似的事情吗?
【问题讨论】:
-
为什么要关闭它?这个问题有什么问题?
-
赏金不会神奇地将问题变成明确的问题。
-
您有一个未回答的问题。您没有提到为什么内置日志记录(
ILoggerProvider等)显然不够用。现在你突然让一个用户参与进来。太多的事情对你来说可能是显而易见的,但对其他人来说却不是。 -
我真的不想唠叨你,但目前还不清楚你要审核什么。事务中修改的记录数量可能会受到限制,但一个用户只需打开一个 UI 功能即可轻松读取数千(或更多)记录。您想单独审核所有这些记录吗?我认为您必须审核对选择的聚合实体的读取操作,例如:“用户 A 在时间 Y 打开文件 X”,但不是所有属于该文件的数据的读取操作,甚至(可能)不是导致打开文件的读取操作(例如查询文件列表)。