1

Table Per Concrete クラスを使用して、Fluent Nhibernate で次のシナリオをマッピングする際に問題が発生しています。

次のクラス定義があるとします。

public class Reading { .... }

public class CarReading : Reading { .... }

public class TruckReading : Reading { .... }

public class Alert 
{
    ....
    public virtual Reading AReading { get; set; }
}

したがって、私の質問は、アラートのマッピング クラスを作成する方法です。それが読み取りクラス (トラックの読み取りまたは車の読み取りのいずれか) と 1 対 1 の関係を持ち、nhibernate にどのテーブルからデータをロードするかを知るように指示します (TruckReading テーブルまたは車検表)

public class AlertMap : ClassMap<Alert>
{
    ....
    HasOne(x => x.AReading);
}

誰かが私を正しい方向に向けることができれば、それは大歓迎です。

ありがとう。

4

1 に答える 1

0
public class AlertMap : ClassMap<Alert>
{
    ....
    ReferenceAny(x => x.AReading)
        .EntityIdentifierColumn("readingid")
        .EntityTypeColumn("readingtype")
        .IdentityType<int>()
        .AddMetaValue<CarReading>("car")
        .AddMetaValue<TruckReading>("truck");
}
于 2012-10-11T12:20:27.800 に答える