首页 > 解决方案 > 如何在实体框架中有效地进行级联删除

问题描述

我一直在寻找一种执行级联删除的高效方法,但一直没能做到。似乎我必须在传递 my to.Include()之前使用加载任何依赖项,这需要很长时间,因为它首先将所有这些条目加载到内存中。IQueryableRemoveRange()

有没有办法直接使用 EF 发出 SQL 命令来删除有问题的实体以及任何依赖项?

标签: c#entity-framework-6

解决方案


有几种方法可以删除多个实体:

  • 手动删除所有内容。这样,您必须首先将它们加载到您不想要的内存中。

  • 配置级联删除规则,以便您的数据库将为您删除依赖项。

  • 您可以使用像这样的第三方扩展来手动删除您想要的内容,但是不需要往返数据库,也不需要在上下文中加载任何内容。


推荐阅读