【问题标题】:Automatic Cascade Delete Tree Nodes with EF [duplicate]使用 EF 自动级联删除树节点 [重复]
【发布时间】:2013-07-18 23:38:41
【问题描述】:

我有以下架构:

当我对每个模型执行删除时,我们也需要删除它的所有子模型。 请建议我最好的方法。之前谢谢。

【问题讨论】:

    标签: sql-server asp.net-mvc-3 database-design ef-code-first


    【解决方案1】:

    我不建议您使用级联删除,因为您要让计算机控制删除/更新的内容,这是一种不好的做法。就像在大型数据库模型和最敏感的数据上一样,如果您删除了自己的东西,您将回答有关为什么数据丢失的问题。

    删除所有子项的最佳方法是使用两种方法

    public static class DeleteMenu()
    private static class DeleteMenuItems()
    

    在删除菜单方法中,首先调用 DeleteMenuItems 并删除所有子项,然后删除其自身的菜单项

    【讨论】:

    • 是的。但是考虑到当这个模式中没有级联删除时,菜单项会有没有父级的实体,导致应用程序出现一些异常。这样做可能更像是一种策略而不是技术。
    猜你喜欢
    • 2021-08-22
    • 1970-01-01
    • 1970-01-01
    • 2018-07-19
    • 1970-01-01
    • 1970-01-01
    • 2018-11-02
    • 1970-01-01
    相关资源
    最近更新 更多