1

私はこのような2つのテーブルを持っています

CREATE TABLE [dbo].[TariffConfig]
(
     PKey INT IDENTITY NOT NULL,
     TariffDeterminatorCd INT NOT NULL
)

CREATE TABLE [dbo].[TariffDeterminator]
(
     PKey INT IDENTITY NOT NULL,
     Tariff INT NOT NULL
)

TariffDeterminatorCd は、TariffDeterminator からの行 (TariffDeterminator の PKey に等しい) を参照しますが、それらの間に外部キー制約はありません。

そしてそれらのエンティティクラスはこのようなものです

public class TariffDeterminator : EntityBase
{       
    public virtual Int32 Age { get; set; }

    public virtual Int32 Tariff { get; set; }
}

public class TariffConfig : EntityBase
{
    public virtual TariffDeterminator Determinator{ get; set; }
}

私はこのような TariffDeterminator を持っています

public class TariffDeterminatorMap : EntityBaseMap<TariffDeterminator>
{       
    public TariffDeterminatorMap ()
        : base()
    {
        this.Initialize("TariffDeterminator");
        Map(x => x.Age).Not.Nullable();
        Map(x => x.Tariff).Not.Nullable();
    }
}

TariffConfig エンティティの Fluent Nhibernate マッピングを作成するのを手伝ってくれる人はいますか?

4

1 に答える 1

1

FluentNHibernateを使用したことはありませんが、次のようになります。

public class TariffConfigMap : EntityBaseMap<TariffConfig>
{

    public TariffConfigMap() : base()
    {
       this.Initialize("TariffConfig");
       References(prop => prop.Determinator)
            .ColumnName("TariffDeterminatorCd");           
    }

}

エンティティクラスにマップされた主キーが表示されません。これらのプロパティはInitialize()中に継承およびマップされていると思います。

通常、エンティティ間の関係をマップするために外部キー制約は必要ありません。必要なのは外部キー自体だけです。

于 2013-01-09T07:03:23.560 に答える