如果所有子代均被删除,则删除父实体

时间:2019-07-09 06:25:26

标签: mysql asp.net-core entity-framework-core

我正在使用ASP.NET Core 2.2和EF。我有这些实体:

public class ActionCategory
{
    public short Id { get; set; }

    [Required]
    public string Name { get; set; }

    public IEnumerable<Action> Actions { get; set; }
}

public class Action
{
    public string Id { get; set; }

    [Required]
    public string Name { get; set; }

    public short CategoryId { get; set; }

    [ForeignKey("CategoryId")]
    public ActionCategory Category { get; set; }
}

如果所有ActionCategory被删除,我想自动删除Actions。我知道我可以自己实现此逻辑,但我想知道是否有一些EF功能可以做到这一点。如果没有这种功能,我可以为MySQL数据库编写触发器吗?这不是一个坏方法吗?我的意思是将我的业务逻辑拆分为控制器和数据库?反之亦然,在数据库级别进行这种逻辑将是一个好习惯吗?

0 个答案:

没有答案