EF Core 审计级联删除值
EF Core audits for cascade deleted values
我有一个针对使用 ef-core 代码优先方法构建的项目的审计机制。我已将 "DeleteBehavior" 属性 设置为级联 "OnModelCreating" 函数中的某些表。当我删除一个实体时,另一个通过级联删除行为自动删除。现在一切都很好,我需要获取所有已删除的实体,但我做不到。 ChangeTracker 不包含级联删除的实体。如何获得级联删除值?有什么办法吗?
级联删除发生在数据库端。 Entity Framework 不需要知道哪个实体将被删除。
Entity Framework 仅跟踪更改并删除基础对象。
编辑:回答子问题
你是对的。我是 EF+ 的所有者。
从技术上讲,库可以处理这个问题,但这会带来严重的性能缺陷。我不知道有任何功能或库可以处理用于审计的级联删除方案。
建议?
有一些建议,但我很确定你不会喜欢其中任何一个,并且出于性能原因我也不推荐它们:
不要使用级联删除(逼你也retrieving/deleting相关实体)
在数据库端创建 ON DELETE 触发器和日志。
我认为这种情况不存在好的解决方案。
我有一个针对使用 ef-core 代码优先方法构建的项目的审计机制。我已将 "DeleteBehavior" 属性 设置为级联 "OnModelCreating" 函数中的某些表。当我删除一个实体时,另一个通过级联删除行为自动删除。现在一切都很好,我需要获取所有已删除的实体,但我做不到。 ChangeTracker 不包含级联删除的实体。如何获得级联删除值?有什么办法吗?
级联删除发生在数据库端。 Entity Framework 不需要知道哪个实体将被删除。
Entity Framework 仅跟踪更改并删除基础对象。
编辑:回答子问题
你是对的。我是 EF+ 的所有者。
从技术上讲,库可以处理这个问题,但这会带来严重的性能缺陷。我不知道有任何功能或库可以处理用于审计的级联删除方案。
建议?
有一些建议,但我很确定你不会喜欢其中任何一个,并且出于性能原因我也不推荐它们:
不要使用级联删除(逼你也retrieving/deleting相关实体)
在数据库端创建 ON DELETE 触发器和日志。
我认为这种情况不存在好的解决方案。