针对级联删除值的EF Core审核

时间:2016-09-30 12:11:53

标签: ef-code-first entity-framework-core audit

我有一个使用ef-core代码第一种方法构建的项目的审计机制。我已经设置了" DeleteBehavior"某些表级联的属性" OnModelCreating"功能。删除实体时,另一个实体通过级联删除行为自动删除。这一切都很好,我需要获得所有已删除的实体,但我不能。 ChangeTracker不包含级联删除的实体。如何获取级联删除的值?有没有办法做到这一点?

1 个答案:

答案 0 :(得分:1)

级联删除发生在数据库端。实体框架不需要知道哪个实体将被删除。

实体框架仅跟踪更改并删除基础对象。

修改:回答子问题

你是对的。我是EF +的所有者。

从技术上讲,库可以处理这个问题,但这会带来严重的性能缺陷。我不知道任何处理级联删除方案以进行审计的功能或库。

建议?

有一些建议,但我很确定你不会喜欢它们中的任何一个,我也不会因为性能原因而推荐它们:

  • 不要使用级联删除(强制您还检索/删除相关实体)

  • 在数据库端创建ON D​​ELETE触发器和日志。

我认为这种情况不存在一个好的解决方案。