asp.net mvc 3-Nhibernate删除父模型的子模型-MVC3



我有一个页面,它显示了模型的详细信息(在本例中为特许经营),但也显示了关于特许经营的注释的表格列表。删除笔记的最佳方式是什么?

目前,我有一个特许经营库,负责特许经营模型的所有crud操作。我最好创建一个注释存储库来添加crud功能吗?或者有没有一种更简单的方法来绕过它,比如在特许权存储库中实现它(或者这会打破一些ddd规则,比如srp)?

public class Parent()
{
    public string name{get; set;}
    public IList<Note> notes{get;set;}
    //And so on
}
public class Note()
{
    public string content{get; set;}
    //And so on
}

您的父级应该有一个类似RemoveNote()的方法,它将从列表中删除注释。在on-to-manny关系中使用cascade=all删除孤立项,在映射中使用inverse=true。而且您不应该拥有Note存储库。

    public virtual void RemoveNote(Note note)
    {
        if (_notes.Contains(note))
        {
            _notes.Remove(note);
            note.Parent = null;
        }
    }

最新更新