タイトルが少し奇妙に聞こえるかもしれませんが、データベース設計の画面を添付しました。間に多対多の関係がある 2 つのマスター テーブルがあります。ただし、多対多テーブルの主キーを使用して、ResourceAllcoation テーブルと呼ばれる別のテーブルを外部キー (ProjectResourceID) で参照しています。
Resource エンティティで ResourceAllocation のバッグを取得する最良の方法は何でしょうか? nhibernate でこれを行う直接的な方法はありますか?
現在、私の nhibernate マッピングには ProjectResource テーブルへの 1 対多のバッグがあり、ResourceAllocation テーブルを参照していますが、これは最善の方法ではないかもしれません。
私の無知をお許しください。どんな考えでも大歓迎です。
@kalki、あなたのマッピングを実装したとき、生成されるSQLクエリは
SELECT
*
FROM PROJECTRESOURCE P
LEFT OUTER JOIN RESOURCEALLOCATION R
ON P.PROJECTRESOURCEID=R.ID WHERE P.RESOURCEID=1
しかし、ProjectResource には PROJECTRESOURCEID 列がないため、これは機能しません。
生成されたクエリが
SELECT *
FROM PROJECTRESOURCE P
LEFT OUTER JOIN RESOURCEALLOCATION R
ON P.ID = R.PROJECTRESOURCEID
WHERE P.RESOURCEID=1
それはうまくいくでしょう。