私のデータベースにはPersonとウィジェットの間に多対多の関係があります。管理者役割のある人はすべてのウィジェットにアクセスできます。私のアプリケーションでは、1人のウィジェットにアクセスできるウィジェットを確認したい。暗黙的で明示的な関係を持つ多対多
私は2つのハイレベルのオプションがあります。
は、明示的に関係を管理。人が管理者になったら、その人をすべての既存のウィジェットに関連付ける。ウィジェットが作成されると、そのウィジェットを既存のすべての管理者に関連付けます。
実行時に、Personが管理者の場合は、すべてのウィジェットにアクセスできると仮定し、ウィジェットをロードするときに関係テーブルをバイパスします。
他よりも一つの選択肢より良いですか?このシナリオの名前はありますか?
私はNHibernateを使ってオプション2を適用しようとしていますが、エンティティのすべてのウィジェットをロードするときに関係テーブルをバイパスする方法を見つけることができませんでした(そして、もしできたとしても、 Personエンティティとは別にウィジェットをロードしてページングを適用しない限り多くの情報を読み込みます)。
Person-Widgetは私のコントロールを超えていますが、私はRole-Widget関係を追加し、2つのセットをマージするPersonにプロパティを持たせることができます。NHibernateのトリッキーはなく、将来的には微調整の余地が残っています。 – Mayo