NHibernateの内の別のテーブルからフィールドへのプロパティのマッピング

StackOverflow https://stackoverflow.com/questions/2485123

質問

以下のクラスを考えます

class Order {
    int OrderId {get; set;}
    int CustomerId {get; set;}
    string CustomerName {get; set;}
    //other fields go here
}
Ordersテーブルにマッピングされる

。それが可能である外部キーの関係を通じて顧客テーブルにプロパティのCustomerNameをマップする?

他のヒント

私は強くあなたがこのために<join/>を使用していないお勧めします。それはあなたが要求したものを達成あろうが、それは他の問題を作成します。

その代わり、ご注文は、お客様との関係を持っている必要があります。あなたがしたい場合はそれだけで使用order.Customer.Nameに簡単ですが、あなたは、その後、名前を投影することができます。

だから、それはこれに沸くます:

1)Customer

Orderプロパティを追加します。
public virtual Customer Customer { get; set; }

2)プロパティの地図(例では、CustomerIdのがFK列の名前である)

<many-to-one name="Customer" column="CustomerId"/>

3)あなたは、具体的CustomerNameプロパティを持つようにしたい場合は、お客様からそれを投影します:

public virtual string CustomerName { get { return Customer.Name; } }
scroll top