我有一个类,它有一个抽象类的列表:当我更新NHibernate的不更新删除孤儿
HasMany(f => f.Bars).Cascade.AllDeleteOrphans();
但是:
public class Foo
{
public int Id { get; set; }
public IList<Bar> Bars { get; set; }
}
public abstract class Bar
{
public int Id { get; set; }
}
我制订了酒吧,这样的Foo
删除Bar
它不会删除孤儿,但它确实将Bar的Foo_id
列设置为NULL
?
我看了四周,看到的答案说给反演HasMany
所以我尝试:
HasMany(f => f.Bars)
.Inverse()
.Cascade.AllDeleteOrphans();
但是然后保存Bar
时总是NULL
为Foo_id
。这也是这种情况时,我尝试添加一个KeyColumn
:
HasMany(f => f.Bars)
.Inverse()
.KeyColumn("Foo_id")
.Cascade.AllDeleteOrphans();
让我看看你用来移除酒吧的代码 –