Nhibernate DetachedCriteria Left Outer Присоединиться к подзапросу

2

Я попытаюсь представить основную часть проблемы, потому что вся ситуация намного сложнее - я не могу добиться следующего с помощью DetachedCriteria

SELECT *
FROM User
LEFT OUTER JOIN GroupItem
ON User.ID = GroupItem.UserID
AND _groupItemRestrictions_

Может быть несколько GroupDefinitions, Пользователь может принадлежать нескольким GroupItems, каждый из которых принадлежит к своему собственному GroupDefinition. Из-за какой-то сложной причины, связанной с пейджинговой/сортировкой и (многоуровневым) групповым поведением, я не могу добиться соответствующего поведения поискового вызова с помощью этого запроса:

SELECT *
FROM User
LEFT OUTER JOIN GroupItem
ON User.ID = GroupItem.UserID
WHERE _groupItemRestrictions_

Запрос, аналогичный второму, создается следующим образом:

var criteria = DetachedCriteria.For<User>()
...
GroupItem groupItem = null;
criteria.CreateAlias(() => groupItemAlias, () => groupItem,
                                                JoinType.LeftOuterJoin);
criteria.Add(Restrictions.Or(...));
...

Можно ли создать первый запрос с помощью DetachedCriteria?

Спасибо!

Теги:
subquery
nhibernate
detachedcriteria

1 ответ

2
Лучший ответ

Похоже, что пока еще нет возможности указать такой запрос с помощью DetachedCriteria, но существует HQL с использованием предложения "with":

http://fabiomaulo.blogspot.com/2009/05/nhibernate-210-hql-with-clause.html

http://www.mail-archive.com/[email protected]/msg08451.html

UPDATE:

https://nhibernate.jira.com/browse/NH-1946

Теперь эта функция реализована. Благодаря команде NH:)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню