【发布时间】:2014-12-12 15:49:39
【问题描述】:
我有两张桌子:
TableA :
Id (identity)
IdTableB(Foreign Key) Nullable
...
TableB :
Id (identity)
...
我做了那个映射:
A 类(表 A)
...
m.ManyToOne<ClassB>(x => x.ClassB, map =>
{
map.Column("IdTableB");
map.Cascade(Cascade.All);
map.Unique(true);
});
...
B 类(表 B)
...
m.OneToOne<ClassA>(x => x.ClassA, map =>
{
map.PropertyReference(x => x.ClassB);
map.Constrained(false);
});
...
好的,映射很好,选择/保存也很好。
现在我想从 ClassA 对象中删除 ClassB,就像这样:
ClassA classA = session.Load(1);
classA.ClassB = null;
session.commit();
在 IdTableB 上将 de tableA 更新为 null,但不会从 tableB 中删除 ClassB。
首先,我的映射正常吗?有没有更好的解决方案?
其次,当我从关系中明确删除时,如何删除那个 ClassB 对象?
谢谢
【问题讨论】:
标签: nhibernate nhibernate-mapping fluent-nhibernate-mapping