我有一个页面,它显示了模型的详细信息(在本例中为特许经营),但也显示了关于特许经营的注释的表格列表。删除笔记的最佳方式是什么?
目前,我有一个特许经营库,负责特许经营模型的所有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;
}
}