0
在我的项目中,Lines
可以分组,Group
的类型可以是Crossing
(1)或Parallel
(2)。我需要找到所有至少有一组指定类型的行(在本例中为1)。给定行的Id可以在组的列LineA
或LineB
上。这里是我到目前为止:用至少一个子对象查询父对象的NHibernate标准?
Criteria crit = session.CreateCriteria(typeof(Line), "ln");
DetachedCriteria count = DetachedCriteria.For<Group>()
.SetProjection(Projections.CountDistinct("Id"))
.Add(Expression.Or(
Expression.EqProperty("LineA", "ln.Id"),
Expression.EqProperty("LineB", "ln.Id")))
.Add(Expression.Eq("GroupTypeId", 1));
crit.Add(Subqueries.Gt(0, count));
您的查询看起来没问题。你正在寻找一个更好的方法来做到这一点,或者你的查询不能像它应该那样工作吗? – tolism7 2009-11-27 12:40:38
它不起作用。引发异常,但我不记得该消息。我得到它的工作,并会发布答案 – svallory 2009-11-29 00:38:02
你应该花时间来检查你收到的例外,并与您的问题发布。 – UpTheCreek 2011-05-01 09:56:22