- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在使用 Criteria 来加速查询,而且我快完成了。
使用 Query By Example 匹配表中的行,删除具有相同 id 的重复行,然后分页。
当然,在删除重复行之前我无法分页,而且我不知道该怎么做。它可以在 SQL 中完成,但这确实适合流畅的代码,ISQLQuery 不返回 ICriteria 对象。
public IList<EntitySearch> CriteriaSearch(EntitySearch exampleEntitySearch, int startingPage, int pageSize)
{
var startRow = startingPage * pageSize;
// Query By Example.
var example = Example.Create(exampleEntitySearch)
.IgnoreCase()
.EnableLike(MatchMode.Anywhere)
.ExcludeZeroes();
var results = this.Session.CreateCriteria(typeof(EntitySearch))
.Add(example)
// select * from (SELECT ROW_NUMBER()OVER (partition by Id order by Id) As rankOrder, * FROM EntitySearch) as original where original.rankOrder = 1
.SetFirstResult(startRow)
.SetMaxResults(pageSize)
.List<DealSearch>();
return results;
}
我读到的建议是在 NHibernate 中编写 SQL 查询,但我想不出如何转换漂亮的“ROW_NUMBER() over partition SQL”。我想先让它端到端地工作,然后让它更优雅。
我想将这个峰值投入生产并证明大约 90% 的速度。
最佳答案
我不确定性能,但您可以使用 LINQ:
改变:
.List<DealSearch>();
收件人:
.List<DealSearch>().Distinct().ToList();
关于c# - NHibernate Criteria QueryByExample 卡在中间的 SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8014152/
我有一个带有存储库的 Spring 应用程序 interface EventRepository extends JpaRepository, QueryByExampleExecutor { } E
一些其他进程将文档插入到mongo集合中,下面是示例数据 { "_id" : ObjectId("597b89c8da52380b04ee6948"), "_class" : "com.test.mo
我有以下 JPA 存储库: public interface PostRepository extends JpaRepository { List findAll(); List f
TLDR 有没有办法将 queryByExample 限制为 NodeJS 中的集合? 面临的问题 我有一个带有一些可选字段的复杂查询(即有时会省略一些搜索字段)。所以我需要动态创建一个查询,例如在
我正在使用 Criteria 来加速查询,而且我快完成了。 使用 Query By Example 匹配表中的行,删除具有相同 id 的重复行,然后分页。 当然,在删除重复行之前我无法分页,而且我不知
我是一名优秀的程序员,十分优秀!