nhibernate извлекает ленивую загруженную коллекцию после того, как я уже присвоил свойству
Я использую QueryOver и с нетерпением загружаю отфильтрованную коллекцию, похожую на следующую:
Part partAlias=null;
Session.QueryOver<Car>().JoinQueryOver(x=>x.Parts,()=>partAlias)
.WhereRestrictionOn(()=>partAlias.Id).IsIn(partIds)
.List<Car>();
Проблема в том, что когда я ссылаюсь на результирующую коллекцию (.Parts), она извлекается из базы данных и перезаписывает то, что у меня было раньше. Я использую Fluent Nhibernate для конфигурации.
1 ответ
Хорошо, я закончил тем, что заставил все работать. Было несколько разных вопросов. Один включал другие отношения, которые создали декартово произведение, которое привело к увеличению количества коллекций. Другая проблема, которая более специфична для моего вопроса, здесь я решил, добавив тип соединения как JoinType.LeftOuterJoin
, Я нашел совет по этой теме. По умолчанию используется внутреннее соединение, и это просто не работает. Соединение ДОЛЖНО быть левым внешним соединением.