У меня проблема с беглым каскадным удалением nhibernate.Я уверен, что делаю что-то не так, потому что это не работает.
Вот мои объекты:
public class Parent
{
public int Id { get; set; }
public IList<SequencedChild> SequencedChildren { get; set; }
}
public class SequencedChild
{
public int Id { get; set; }
public int ParentId { get; set; }
public int ChildId { get; set; }
public int Sequence { get; set; }
}
public class Child
{
public int Id { get; set; }
}
А вот мое отображение:
HasMany(m => m.SequencedChildren).Inverse().Cascade.Delete();
Итак, у меня есть родитель с несколькими последовательными детьми, и я хочу обновить этого родителя, чтобы у него не было детей.Когда я выполняю обновление без дочерних элементов этого родителя, я ожидаю, что в моей таблице SequencedChild
будут удалены записи с идентификатором родителя.Но по какой-то причине NHibernate пытается обновить ParentId
этих записей со значением null - что не удается, поскольку ParentId
не равно нулю. РЕДАКТИРОВАТЬ: Я также ожидаю, что объект Child не затронут (который ведет себя правильно).
Я посмотрел на несколько вопросов, и все они предлагают использование обратного, но яЯ уже делаю это.Что я делаю не так?