2009-08-27 59 views
2

我只尝试提出这个问题的主要部分,因为整个形势是复杂得多 - 我无法实现与DetachedCriteria之后NHibernate的的DetachedCriteria左外连接上的子查询

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

有以下可以是多个GroupDefinitions,用户可以属于多个GroupItems,每个GroupItem都属于它自己的GroupDefinition。由于一些复杂的原因与寻呼/排序和(多)组行为,我不能与此查询实现适当的寻呼行为:

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

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

甲类似于生产这种方式,第二一个查询

是否有可能使用DetachedCriteria创建第一个查询?

谢谢!

回答