【发布时间】:2019-06-26 10:06:45
【问题描述】:
我正在尝试映射几个表,其中 Bar 中的主键是 Foo 的外键,即 1..0:1 关系。
我的映射如下所示:
class FooMapping : ClassMap<Foo>
{
public FooMapping()
{
Table("Foo");
Id(x => x.Id).Column("ID");
HasOne(x => x.Bar).Cascade.All();
}
}
class BarMapping : ClassMap<Bar>
{
public BarMapping()
{
Table("Bar");
Id(x => x.FooId).GeneratedBy.Foreign("Foo");
HasOne(x => x.Foo).Constrained();
}
}
问题是,当我尝试通过设置Foo.Bar = null 和Bar.Foo = null 来删除Bar 的实例时,记录不会从数据库中删除。
我错过了什么?
【问题讨论】:
-
它是否删除了从 Foo 到 Bar 的引用(将数据库中的列设置为 null)?
-
Foo 表中没有对 Bar 的引用。就像我说的,Bar 中的主键也是 Foo 的外键。
标签: nhibernate orm fluent-nhibernate