好的,我来翻译一下。这是一个关于NHibernate查询的问题:
嗯,我在这个问题上有些迷茫。我有一个NHibernate查询,大致如下:
var subQuery = QueryOver.Of<Lead>()
.Where(x => x.Client == user.Client)
.And(x => x.LeadType == leadType && x.LeadType != LeadTypeEnum.Self)
.Select(Projections.Distinct(Projections.Id()));
我使用这个。
var query = Session.QueryOver<Lead>()
.WithSubquery.WhereProperty(x => x.Id).In(subQuery);
这会产生我所需的内容。
Where lead.id in (select Id from .......)
然而,我需要添加另一个子查询。像上面那样很容易做到,但我需要它产生以下结果。
Where lead.id in (select id from .....)
or lead.id in (select id from .......)
问题是我总是得到以下错误信息。
Where lead.id in (select id from .....)
and lead.id in (select id from .......)
请问有人能指导我正确地获取Or吗?
disjunction.Add(subQuery1.UnderlyingCriteria)
或者disjunction.Add(subQuery1.DetachedCriteria)
这样的方法吗? - Josh Anderson