У меня есть две таблицы:NHibernate один-к-одному с Ассоциацией иностранных Ки
TableA :
Id (identity)
IdTableB(Foreign Key) Nullable
...
TableB :
Id (identity)
...
Я сделал это отображение:
ClassA (TABLEA)
...
m.ManyToOne<ClassB>(x => x.ClassB, map =>
{
map.Column("IdTableB");
map.Cascade(Cascade.All);
map.Unique(true);
});
...
ClassB (TableB)
...
m.OneToOne<ClassA>(x => x.ClassA, map =>
{
map.PropertyReference(x => x.ClassB);
map.Constrained(false);
});
...
Хорошо, отображение отлично, а select/save работает нормально.
Теперь я хочу, чтобы удалить ClassB из объекта CLASSA, как это:
ClassA classA = session.Load(1);
classA.ClassB = null;
session.commit();
Это обновление де TABLEA с нулем на IdTableB, но не удалить ClassB из TableB.
Во-первых, это мое сопоставление? Есть ли лучшее решение?
Во-вторых, как я могу удалить объект ClassB, когда я удаляю исключение из отношения?
Благодаря