FKが常に使用されるとは限らないレガシーデータベースを使用しています。たとえば、エンティティPersonとエンティティCountryがあります。人には、人のマッピングで多対1としてマップされる国があります。
<many-to-one name="Country" class="Country" foreign-key="none" lazy="false" not-found="ignore" fetch="join" outer-join="true" column="countryid"/>
人がnull
列値(countryid)として持っている場合、追加の選択クエリは実行されません(countryテーブルに参照がないことがわかっているため)が、人が0
列値として持っている場合、NHは別のselectを実行します。国が実際に存在しないかどうかの国の表を確認してください。しかし、左外部結合を行うため、NHはそれが存在しないことをすでに知っているはずです。明確にするために、列に値が1
あり、それが国のテーブルに存在する場合、追加の選択は実行されません。
とにかく、NHibernateに余分な選択クエリを実行しないように指示することはできますか?
ありがとう