实体框架:删除记录及其子记录

shi*_*esh 2 c# entity-framework

我有一个有3列的表: ID, Name, ParentID.

如何删除所有子项(n级深)的特定记录?

使用Entity Framework 3.5.

Shi*_*iji 5

表是自引用的是应用程序逻辑,它不在SQL定义中表示,因此EF不理解.

要通过EF删除这些记录,您需要编写一个从顶部开始并加载所有子项的例程.然后将所有这些项目标记为已删除,然后调用保存更改.

要删除项目:

context.DeleteObject(item);
context.SaveChanges();
Run Code Online (Sandbox Code Playgroud)