Я хочу иметь возможность создать родительский объект с дочерними элементами и позволить родительскому дескриптору обновлять, сохранять и удалять.Родительский - отношения ребенка в NHibernate
Мои классы карты.
ParentMap
Id(x => x.Id, "ID").GeneratedBy.Identity();
Map(x => x.Name);
HasMany(x => x.Children)
.KeyColumn("ParentID")
.Inverse()
.Cascade
.AllDeleteOrphan()
.AsBag();
ChildMap
Id(x => x.Id, "ID").GeneratedBy.Identity();
Map(x => x.Name);
Map(x => x.Value);
References(x => x.Parent);
Это код.
После обратной передачи я создаю нового родителя с детьми. Проблема в том, что он не будет удалять детей, но все остальное прекрасно работает и сохраняет.
Я также пробовал код ниже, но это возвращает неединичную ошибку.
var parent = repository.Get(_view.parentID);
parent.Name = _view.Name;
parent.Chidlren = _view.Children;
Может ли кто-нибудь сказать мне лучший способ справиться с этим в NHibernate?
Спасибо.
Похоже, хорошее решение Я изменю свой код. Единственная проблема заключается в том, чтобы выяснить, какие дети добавлять, обновлять и удалять, когда я имею дело с двумя списками со старыми детьми (из db) и другим списком с измененными дочерними элементами (из пользовательского ввода). Знаете ли вы способ сделать это, не зацикливая списки? Спасибо. – ctb
Calum - пожалуйста, добавьте это как новый вопрос. –