【问题标题】:Delete principal data if dependent data is deleted in Entity Framework如果在实体框架中删除了依赖数据,则删除主体数据
【发布时间】:2015-01-09 08:06:55
【问题描述】:

我有下一个架构:

在我的业务逻辑中,BomItem(或季节)与 CommentContainer 是一对一的。如果我删除 BomItem(或季节),我想用 cmets 删除适当的 CommentContainer。

我可以使用 EF 配置吗?

我怎样才能以最好的方式做到这一点?

【问题讨论】:

  • 更多细节可能会有所帮助,EF 版本,SQL Server 版本,数据库优先,代码优先,...?据我所知,没有删除主体实体的 EF 配置。在代码中处理该问题的最佳开始是覆盖 DbContext 上的 SaveChanges。在数据库端,您可以使用删除触发器。

标签: c# sql-server database entity-framework


【解决方案1】:

在表 BomItem 的 CommentContainer 中添加外键。此外,使其在删除时层叠。

现在,当您删除 BomItem 中的一行时,CommentContainer 中的相应行(与 BomItem 的主键链接)将被删除。 CommentContainer 和 Comment 表之间可以建立相同的关系。

当您从父表中删除数据时,外键的 ON DELETE CASCADE 引用操作会自动从子表中删除数据。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多