私は電子メール通知を送信するプロセスを書いています。現在、私は次の列を持つテーブルでの電子メール通知を記述します。私は使用するためのマッピング戦略を指導が必要です
- email_notification_id => PK
- notification_id =>通知
- SENDER_ID =>ユーザーまたはグループのオブジェクト
- recipient_id =>ユーザーまたはグループオブジェクト
送信者と受信者は、ユーザーまたはグループのタイプにすることができます。明らかに、現時点では、送信者または受信者にFKを割り当てることはできません。
1)最初のオプションは、マッピングでAnyを使用し、その型に2つの追加の列を追加することです。タイプグループの
クラス1 =>送信者、タイプグループ
クラス2タイプグループの=>送信者、受信者の受信者:
2)第2のオプションは、各組み合わせについて4つのクラスを作成し、識別器を使用してそれらをマッピングすることですタイプユーザーのタイプユーザーの
Class3に=>送信者、タイプユーザーのタイプグループ
CLASS4 =>送信者の受信者、種類ユーザー
3)他のオプションの受信者?
あなたはこれについてどう思いますか?
よろしく
ちょっと、Userとgroupが1つのテーブルに入っていれば、これは素晴らしいことです。また、私はこれらの2つのエンティティを基底クラス(これは.netプロジェクト=>単一基本クラス)で汚染したくありません。 – mynkow
私はあなたがテーブルごとのマッピング戦略を使用することができ、nHibで列のものを並べ替えることができると信じています。この質問を参照してください:http://stackoverflow.com/questions/5993200/fluent-nhibernate-collection-table-per-subclass P.S. 2つのクラスがある種の共通の論理ベースを持っている場合、私はそれを「汚染」とは考えません。ユーザーとグループの唯一の共通点は、あなたが正しいというより、通知を送受信できるということだけです。 –
10人の男、私はそれを試してみましょう。 – mynkow