0

我有一个页面显示模型的详细信息(在这种情况下,特许经营),但也显示关于特许经营的笔记表格列表。删除其中一个笔记的最佳方法是什么?Nhibernate删除父模型的孩子 - MVC3

目前,我有一个franchiseRepository它负责所有CRUD操作的特许经营模式。我最好是创建一个笔记库也添加crud功能?或者有更简单的方法,比如在franchiseRepository中实现它(或者会破坏像srp这样的ddd规则)?

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 
} 

回答

1

你的父母应该有一个像RemoveNote()这样的方法,它将从列表中删除注释。 在映射上使用cascade = all-delete-orphan关于manny关系和inverse = true。你不应该有注释库。

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

好了,所以在removeNote()我第一次加载父所有的笔记,然后递归浏览列表直到我找到的说明,我想删除,然后SaveOrUpdate(模型)?那个听起来是对的吗? – gdp

+0

@geepie yes看到编辑 –

+0

@Shuhel Ahmed - 好的 - 我会在我的领域课堂上坚持一个类似的方法 - 你认为这是正确的地方吗? – gdp