我只会尝试提出问题的主要部分,因为整个情况要复杂得多 - 我无法使用 DetachedCriteria 实现以下目标
SELECT *
FROM User
LEFT OUTER JOIN GroupItem
ON User.ID = GroupItem.UserID
AND _groupItemRestrictions_
可以有多个 GroupDefinition,用户可以属于多个 GroupItem,每个 GroupItem 都属于它自己的 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 创建第一个查询?
谢谢!