删除级联上流畅的nhibernate子类

时间:2012-09-27 13:50:30

标签: c# fluent-nhibernate nhibernate-mapping

首先,我是FluentNHibernate的新手。

我有这些数据库表,为类及其子类建模:

Table MyClass :
id (PK)
...

Table MySubClass :
id (PK) (FK references Class(id) on delete cascade)
...

我想在FluentNHibernate中映射它,以便它可以重新生成数据库模型,包括“删除级联”,但我找不到如何。

我有这个映射:

public class MyClassMap : ClassMap<MyClass>
{
    public MyClassMap()
    {
        this.Id(x => x.Id, "id");
        // snip
    }
}

public class MySubClassMap : SubclassMap<MySubClass>
{
    public MySubClassMap()
    {
        // snip
    }

}

这会映射右表和外键,但没有删除级联的痕迹。我确定我错过了什么,却找不到什么。

有什么想法吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

NHibernate在代码中实现级联。可以在hbm中设置删除级联,但不能使用FluentMappings设置。但是,您可以使用NHibernate.Mapping.IAuxiliaryDatabaseObject

添加带有sql的级联规则