对于使用ef-core代码优先方法构建的项目,我有一个审计机制。我在“OnModelCreating”函数中设置了“DeleteBehavior”属性以级联一些表。当我删除一个实体时,另一个通过级联删除行为自动删除。这一切都很好,我需要得到所有删除的实体,但我不能。 ChangeTracker不包含级联删除的实体。我怎样才能得到级联删除值?有没有办法做到这一点?针对级联删除值的EF核心审计
1
A
回答
1
级联删除发生在数据库端。实体框架不需要知道哪个实体将被删除。
实体框架只跟踪更改并删除基础对象。
编辑:答案子问题
你是对的。我是EF +的拥有者。
从技术上讲,一个库可以处理这个问题,但这会带来严重的性能缺陷。我不知道任何处理级联删除方案的功能或库用于审计。
建议?
有一些建议,但我敢肯定你不会喜欢任何人,而且我也不建议他们表现的原因:
不要使用级联删除(你力还检索/删除相关实体)
创建ON DELETE在数据库端触发并记录日志。
我不认为这种情况下有一个很好的解决方案。
相关问题
- 1. 级联删除不与EF级联
- 2. EF多对多级联删除
- 3. EF:多对多级联删除
- 4. 使用级联删除核心数据中的对象关系
- 5. 在核心数据中删除与级联的关系对象
- 6. EF - 级联删除不工作,不能删除对象
- 7. EF核心不删除相关实体
- 8. EF 4.1 RC:奇怪的级联删除
- 9. 使用EF禁用级联删除?
- 10. 删除对级联的EntityManager
- 11. 核心数据关系删除规则 - 废止+级联
- 12. iPhone核心数据:通过多对一的关系级联删除
- 13. 核心数据中'多对多'关系中的级联删除规则
- 14. EF 5.0查找表设计限制级联删除
- 15. 实体框架的核心 - 审计
- 16. ApplicationUser多对多EF核心
- 17. 一对一删除级联
- 18. 多个级联删除在多对多关系路径(EF 4.1)
- 19. 删除对级联多到很多关于EF
- 20. EF核心第二级ThenInclude missworks
- 21. 在EF核心
- 22. 删除核心数据中的对象
- 23. 删除核心数据中的对象
- 24. ASP.NET核心删除DNX核心5.0
- 25. EF核心一对多对多对一
- 26. 级联删除
- 27. 级联/删除
- 28. 级联删除
- 29. 在.net核心Ef中的核心
- 30. 如何在EF核心中查询多对多的关联
你能显示你的代码吗? – Sampath
那么,你可以从数据库中获取实体,但是这完全破坏了级联删除的目的。底线是:客户端应用程序永远不能审计数据库中发生的事情。 [只有数据库可以](https://msdn.microsoft.com/en-us/library/bb933875.aspx)。 –