在我的项目中,Lines
可以进行分组,并且 aGroup
的类型可以是Crossing
(1) 或Parallel
(2)。我需要找到至少具有一组指定类型(在本例中为 1)的所有行。给定行的 Id 可以在列上LineA
或LineB
组上。这是我到目前为止的地方:
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));