2

首先,我是 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
    }

}

这映射了正确的表和外键,但在删除级联时没有任何痕迹。我确定我错过了一些东西,但找不到什么。

任何的想法 ?

谢谢 !

4

1 回答 1

0

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

于 2012-10-05T14:18:10.583 回答