2

まず第一に、私は FluentNHibernate の初心者です。

クラスとそのサブクラスをモデル化したこれらの DB テーブルがあります。

Table MyClass :
id (PK)
...

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

これを FluentNHibernate でマップして、「削除時カスケード」を含む DB モデルを再生成できるようにしたいのですが、方法が見つかりません。

私はこのマッピングを持っています:

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 に答える