Nhibernate оставил соединение с 'with', все еще вытягивая все дочерние объекты - PullRequest
1 голос
/ 12 ноября 2010

У меня есть следующий hql:

Select q FROM GeneralQuestion q 
Left Join q.QuestionResponses as qr with qr.ContactUid = :contactuid 
WHERE q.ParentUid = :audituid 

Очевидно, что GeneralQuestion содержит коллекцию объектов QuestionResponse. Я использовал ключевое слово with, которое, как я думал, ограничит возвращаемые объекты QuestionResponse только теми объектами QuestionRespone с этим конкретным контактом.

Проблема в том, что каждый стиль GeneralQuestion содержит все ответы на вопросы.

Есть ли способ ограничить возвращаемые объекты QuestionResponse только этим контактом?

Я думал, что в этом весь смысл, и теперь я в замешательстве.

1 Ответ

0 голосов
/ 12 ноября 2010

Если вы посмотрите на выполненный SQL, он, вероятно, извлекает только отфильтрованные записи при запросе, а затем лениво перезагружает коллекцию при его использовании.

Это имеет смысл, поскольку NH должен отслеживать их состояние.

Что вам нужно сделать, это получить экземпляры QuestionResponse непосредственно в вашем списке выбора, и это будет ваша «отфильтрованная коллекция»

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...