2009-06-09 18 views
0

私はCustomerテーブルとAddressTableを持っています。私のテーブルには、次のようになります。流暢NHibernateマップアドレスタイプ

Table Customer 
{ 
ID, 
Name 
} 

Table Address 
{ 
ID, 
CustomerID, 
AddressType, 
Address 
} 

私のCustomerクラスで

(AddressTypeにはWorkAddressためHomeAddressのための1と2である)私は

class Customer 
{ 
Address HomeAdress; 
Address WorkAddress; 
} 

がどのようにマッピングすることができるアドレスの種類の2つの特性を有しますFluentNHibernateを使用してこれらの2つのプロパティ?

ありがとうございました。

+0

アドレスは値オブジェクトであり、この場合はエンティティではないようです。私は、homeaddressフィールドとworkaddressフィールドをcustomersテーブルに追加し、それらをコンポーネントとしてマップします。 – Paco

答えて

1

2つのアドレスをCustomerのコンポーネントとしてマップします。 This linkはコンポーネントマッピングを説明し、例としてアドレスクラスを使用します。

編集に追加:私の最初の応答が間違っているので、私は完全にアドレスが別のテーブルでした。うまくいけば、これはもっと役に立ちます。お客様と住所の間に1対多の関係があります。これをマップする1つの方法は、顧客のプライベートアドレスコレクションをマップし、次にHomeAddressおよびWorkAddressのプロパティを公開することです。

+0

ありがとうございますが、顧客と住所は異なる表です。それらをコンポーネントとしてマップすることはできません。私はできますか? –

+0

いいえ、できません、私の最初の答えは間違っています。私はより良い答えでそれを更新しました。 –