Nhibernate Удалить модель дочернего родительского элемента - MVC3 - PullRequest
0 голосов
/ 22 июня 2011

У меня есть страница, на которой отображаются сведения о модели (в данном случае франшиза), но также отображается табличный список заметок о франшизе.Каков наилучший способ удалить одну из заметок?

В настоящее время у меня есть FranchiseRepository, который отвечает за все грубые операции для Модели франшизы.Буду ли я лучше создать хранилище заметок, чтобы добавить функциональность crud?Или есть более простой способ обойти это, например, реализовать его в franchiseRepository (или это нарушит некоторые правила 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
}

1 Ответ

1 голос
/ 22 июня 2011

У вашего родителя должен быть метод типа RemoveNote (), который удалит заметку из списка. используйте cascade = all-delete-orphan в отношении on to manny и inverse = true при отображении. И у вас не должно быть хранилища заметок.

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