0

nhibernate を使用して次の状況をモデル化する正しい方法を探しています。

銀行口座および/または住所データクラウドは、次のエンティティにリンクされます

  • お客様
  • 契約
  • 請求 *...

はまったく異なるため、共通の親にリンクされていません。

現時点では、私の唯一の解決策は、すべての星座に一意のリンク テーブルを使用することです。

  • bank_to_customer
  • bank_to_contract
  • ...
  • add_to_customer
  • add_to_contract

銀行は次のようなコレクションをマップしました

  • 顧客
  • 契約
  • ...

アドレスには次のような等しいコレクションがあります

  • 顧客
  • 契約
  • ...

銀行口座または通りを検索し、どのエンティティが結果セットにリンクされているかを表示するという要件を解決するのは悪い予感がします。

すべてのリンクを識別するためにすべての「add_」リンクテーブルを 4 回クエリする必要があるよりも、住所クエリで「abc street」に対して 4 つの結果が得られる可能性があります...

おそらく、問題のより良い解決策またはモデル化がありますか?

提案をありがとう

4

2 に答える 2

0

多分任意/多対任意のマッピングが問題に対処する

http://jzo001.wordpress.com/2013/01/21/nhibernate-many-to-any-mapping-composite-identifier-unidirectional-relationship/

しかし、それは継承と結合されています

于 2013-07-08T09:28:19.953 に答える
0

インターフェイスで多対多を使用する

interface IHaveContacts
{
    ICollection<Contact> Contacts { get; }
}

class Contact
{
    ICollection<IHaveContacts> EntitiesWithContacts { get; private set; }
}

残念ながら、FNH ではサポートされていないようです。このマッピングのみに hbm.xml を使用するか、構成に追加する前にマッピングを編集します。

于 2013-07-27T21:20:23.013 に答える