No es compatible con NHibernate HQL & # 8220; con & # 8221; ¿palabra clave?
-
06-07-2019 - |
Pregunta
Estoy tratando de construir un HQL que pueda dejar valores de unión de una colección, para darme la posibilidad de verificar que "es nulo". en ella.
Tomado del ejemplo del manual de hibernación:
from Cat as cat left join cat.kittens as kitten with kitten.bodyWeight > 10.0
no parece funcionar en NHibernate, ya que no reconoce el " con " palabra clave. ¿De qué otra manera se supone que debes unirte a la izquierda y verificar si no hay entradas coincidentes si no puedes especificar cláusulas de unión directamente en tu unión en lugar de en tu declaración WHERE?
Estoy ejecutando NHibernate 2.0.0.
Solución
Desafortunadamente, esto no es compatible con NHibernate. Fue solicitado por primera vez en 2005 y es, con mucho, la característica solicitada más popular.
Otros consejos
Creo que puede solucionarlo utilizando una combinación externa y luego hacer esto:
from Cat c
left join c.Kittens as kitten
where kitten.bodyweight > 10 or kitten.bodyweight is null
Aparentemente están trabajando en eso ... https://nhibernate.jira.com/browse/NH-514
Ayer recibí un informe de actualización de NHibernate JIRA, y este problema debería solucionarse en NHibernate v2.1.0 Alpha 3 :)