级联删除所有虚拟集合

本文关键字:虚拟 集合 删除 级联 | 更新日期: 2023-09-27 18:34:02

我正在使用MVC3来构建Web应用程序。在这个应用程序中,我有一个实体,它有x个虚拟集合,这些虚拟集合本身可以容纳y个虚拟集合。

有没有办法可以"模拟"级联删除,这样当我删除顶部实体时,它首先尝试递归删除子集合实体。

我知道我可以使用数据库级联选项(和几个触发器)来做到这一点,但我真的很想知道这在 C# 中是否可行。

编辑:顶级实体:

public class Tournament {
    public int TournamentID { get; set; }
    // other properties
    public virtual ICollection<Official> Officials { get; set; }
}

孩子:

public class Official {
    public int OfficialID { get; set; }
    // other properties
    public virtual ICollection<Matches> Matches { get; set; }
}

因此,当我删除Tournament实体时,它也应该删除Officials,并且在Officials中它应该删除Matches

级联删除所有虚拟集合

只需确保从子项到父项的关联不允许空值。

然后删除父项。