1

2つのクラスを同じテーブルにマップすることは可能ですか?

class Foo {}
class Bar : Foo {}
class Zap : Bar {}

FooとBarは、1つのセッションファクトリで自動マッピングされたFluentNhibernateです。

3つのクラスはすべて、異なるセッションファクトリでFluentマッピングを使用してマッピングされます。

class FooMap :  Class<Foo> {}

class BarMap :  Subclass<Bar> {}

class ZapMap :  Subclass<Zap> {
    public ZapMap() {
          Table("Bar");
    }
}

ZapをBarテーブルにマップし、新しいテーブルを作成しないようにします。これは可能ですか?

4

1 に答える 1

1

BarMapを次のように変更した場合:

class BarMap : Class<Bar> { }

Barテーブルに「type」列(BarとZapを区別するためのタイプ文字列)がある場合は、機能するはずです。

サブクラスについてのページの下部にあるhttp://fluentnhibernate.wikia.com/wiki/Fluent_mappingを見てください(table-per-class-hierarchyが必要です)

于 2012-05-25T15:55:03.457 に答える