gpt4 book ai didi

NHibernate,当条件有一个分组时获取行数

转载 作者:行者123 更新时间:2023-12-04 12:59:29 25 4
gpt4 key购买 nike

我需要从条件查询中获取行数,并且条件按投影分组。 (需要让分页工作)

例如。

projectionList.Add(Projections.GroupProperty("Col1"), "col1")
.Add(Projections.CountDistinct("Col2"), "Count");

我需要避免 CreateSQL,因为我有很多标准......而且限制等很复杂。

你能做一个子标准(分离)然后 select count(*) from .. ?想不通怎么办?

编辑:我通过从标准中获取 sql 然后修改它来解决它,以便它现在可以工作! GetSql from criteria

最佳答案

不完全确定你想要什么,但这样的事情应该可行(如果我正确理解你的问题):

var subQuery = DetachedCriteria.For<SomeClass>()
.Where(... add your conditions here ...);

var count = Session.CreateCriteria<SomeClass>()
.Where(Property.ForName("Col1").In(
CriteriaTransformer.Clone(subQuery).SetProjection(Projections.Property("Col1"))
.SetProjection(Projections.Count())
.FutureValue<int>();

var results = subQuery.GetExecutableCriteria(Session)
.SetProjection(Projections.GroupProperty("Col1"), "col1"),
Projections.CountDistinct("Col2"), "Count")
).List<object[]>();

关于NHibernate,当条件有一个分组时获取行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10106124/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com