c# - Entity Framework : delete record with its sub-records

标签 c# entity-framework

我有一个包含 3 列的表:ID、Name、ParentID。

如何删除特定记录及其所有子记录(n 层深)?

使用 Entity Framework 3.5。

最佳答案

表是自引用的是应用程序逻辑,它没有在 SQL 定义中表达,因此不被 EF 理解。

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

要删除一个项目:

context.DeleteObject(item);
context.SaveChanges();

关于c# - Entity Framework : delete record with its sub-records,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3797312/

相关文章:

entity-framework - 在 MVC 5 项目上使用 ASP.NET 标识,但 httpcontext User.ProviderName 为 "AspNetSqlRoleProvider"

.net - 忽略在 EF 4.0 的导航属性中标记为已删除的记录

c# - 授权集成到客户端-服务器应用程序(C#、JavaScript)

c# - 处理异常,我是否必须捕获每个特定的异常?

c# - EF6 - 使用基类属性的派生类中的 TPH 外键映射

c# - 如何在 LINQ to 实体表达式中使用 CreateDateTime

c# - Entity Framework 异步问题上下文还是查询?

c# - 拥有多个数据上下文是一种好习惯吗?

c# - WP7 Json 序列化器不处理 "space"?

c# - 将结构体数组从 C# 编码到 VC++