Как запустить запрос NHIBERNATE ICRITERIA с SetFetchMode (ленивый), когда ленивый = ложный определен в HBM?
-
26-09-2019 - |
Вопрос
Я хотел бы запустить запрос критериев с ленивыми ассоциациями многих к одному. Эти ассоциации устанавливаются как lazy="false"
в HBM. Это потому, что мы используем это нетерпеливо 90% проекта.
Но есть несколько «больших» запросов, которые должны работать как lazy="proxy"
.
HBM:
<many-to-one name="DestinationElement" class="X" column="DstElemId" not-null="true" unique="false" cascade="save-update" outer-join="auto" fetch="select" lazy="false" index="IDX_Ass_DestElem">
Настройка критериев:
criteria.SetFetchMode("DestinationElement", FetchMode.Lazy);
Работает обратный путь, но не так. Это выбирает с нетерпением.
LOC IS 20K +, и это будет массивный рефактором, чтобы сделать это противоположным образом.
Как я могу заставить это привлечь лениво только тогда, когда я хочу, и с нетерпением ждем все остальные?
Заранее спасибо!
Решение
lazy="false"
В HBM не может быть переопределен в запросе (помимо плохой идеи 99% времени)
Вам придется изменить свой код.
Не связан с StackOverflow