Разве NHibernate HQL не поддерживает ключевое слово “with”?

StackOverflow https://stackoverflow.com/questions/269541

  •  06-07-2019
  •  | 
  •  

Вопрос

Я пытаюсь создать HQL, который может объединять значения из коллекции, чтобы дать мне возможность проверить "is null" на нем.

Взято из примера из руководства по переходу в спящий режим:

from Cat as cat
    left join cat.kittens as kitten
        with kitten.bodyWeight > 10.0

похоже, не работает в NHibernate, поскольку он не распознает ключевое слово "with".Как еще вы можете оставить join и проверить, нет ли совпадающих записей, если вы не можете указать join-предложения непосредственно в своем join, в отличие от вашего WHERE-оператора?

Я запускаю NHibernate 2.0.0.

Это было полезно?

Решение

К сожалению, это не поддерживается в NHibernate. Он был впервые запрошен в 2005 году и, безусловно, является самой популярной запрашиваемой функцией.

Другие советы

Я думаю, что вы можете обойти это, используя внешнее соединение, а затем сделать это:

from Cat c
left join c.Kittens as kitten
where kitten.bodyweight > 10 or kitten.bodyweight is null

Очевидно , они работают над этим ...https://nhibernate.jira.com/browse/NH-514

Вчера я получил отчет об обновлении от NHibernate JIRA, и эта проблема должна быть исправлена в NHibernate v2.1.0 Alpha 3 :)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top