私は NHibernate を使用しており、従業員とチームの間に多対多の関連付けがあります。
ここで、すべての従業員をそのチーム メンバーの名前とともに表示したいと考えています。
可能性 1:
- AutoMapper を使用して、従業員のプロパティとチームの名前を含む DTO を作成します (チームのイーガー ロード)
- ビューに DTO を表示する
可能性 2:
- EmployeeTeam という新しいエンティティを作成し、それを NHibernate/FluentNHibernate にマップします (このエンティティは、データベース内の従業員とチームの間のリレーショナル テーブルとして機能します)。
- 熱心な読み込みを使用して TeamEmployee を読み込むには、Employee と Team を含めます
- EmployeeTeam エンティティを表示する
- EmployeeTeam メンバーを使用する (EmployeeTeam.Employee.Name、EmployeeTeam.Team.Name)
可能性 3:
- 可能性1と2として
- EmployeeTeam に DTO を使用する
可能性 4:
- ICriteria API を使用する
- AliasToBeanResultTransformer を使用します (これは使用しませんでした)
可能性 5:
- LINQ to NHibernate を使用する
- 私はまだ EmployeeTeam エンティティが必要だと思います (これは今のところ私のドメイン モデルにはありません)。
この問題のベスト プラクティスは何ですか?
他の提案はありますか?