如何使用分页在NHibernate中执行联接

保罗·丹布拉

我正在对使用NHibernate作为几乎不了解NHibernate的人的某些代码进行维护...

我有以下查询

       var query = string.Format(@"select s.Id, s.Iccid, c.Name as Carrier, aa.StartDate as AssignmentDate, cust.Name as AssignedCustomerName 
                    from assetassignment aa 
                    left join SIM s on aa.AssetId = s.Id 
                    left join Carrier c on s.CarrierId = c.Id 
                    left join customer cust on aa.CustomerId = cust.Id 
                    where aa.enddate is null
                    and aa.CustomerId in ({0}) 
                    and s.dateremoved is null",
                    string.Join(",",idsToInclude));
    if (!string.IsNullOrWhiteSpace(carrier))
    {
        query += " and c.Name = '" + carrier + "'";
    }
   var results = _session.CreateSQLQuery(query)
       .SetResultTransformer(new AliasToBeanResultTransformer(typeof(HomepageSIMTableRow)))
       .List<HomepageSIMTableRow>();
    return results;

这对我来说很好用(并且意味着我不必苦恼NHibernate来运行我可以应对的某些东西,但是现在我需要添加分页并且感觉很臭。

关于如何将其转移到NHibernate领域并添加分页的任何指导都将很棒!

jishi

我不确定这是否适用于常规SQL,但通常对于NHibernate,您可以添加一个

var results = _session.CreateSQLQuery(query)
   .SetFirstResult(0)
   .SetSetMaxResults(30)
   .SetResultTransformer(new AliasToBeanResultTransformer(typeof(HomepageSIMTableRow)))
   .List<HomepageSIMTableRow>();

这适用于常规条件和HQL查询。

您可以阅读以下内容作为参考:如何使用NHibernate进行分页?

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在SqlAlchemy中执行“左外部联接”

来自分类Dev

如何使用分页在NHibernate中执行联接

来自分类Dev

如何在子集中的Nhibernate中执行QueryOver

来自分类Dev

如何在具有多个表联接的linq中执行左联接

来自分类Dev

如何在LINQ中在单个联接中的多个字段上执行左联接

来自分类Dev

如何使用分页方法

来自分类Dev

如何在联接语句SQL Server中执行存储过程

来自分类Dev

如何在ES中执行联接否定查询

来自分类Dev

使用Fluent.NHibernate,如何基于Select语句执行插入

来自分类Dev

我如何执行此联接?

来自分类Dev

如何在此方案的mysql中执行联接查询

来自分类Dev

在Pandas中执行“外部”联接时,如何覆盖相同的列名?

来自分类Dev

Vue分页-如何使用?

来自分类Dev

如何在MongoDB聚合管道中执行嵌套的“联接”(联接3个或更多集合)?

来自分类Dev

如何在MySQL中执行此查询,我应该使用左联接还是右联接或内部联接使用哪一个?

来自分类Dev

如何使用NHibernate Mapping.ByCode在非主键字段上联接表?

来自分类Dev

使用SQL语法在LINQ中执行联接

来自分类Dev

在NHibernate实体中执行查询

来自分类Dev

在Oracle / SQL的主查询中执行与表的联接时,如何使用内联视图获取top-n?

来自分类Dev

如何在Nhibernate中对子集合执行QueryOver

来自分类Dev

如何在Django中执行联接和聚合计数

来自分类Dev

执行合并时如何从联接的表中获取数据?

来自分类Dev

如何在codeigniter中执行排序,搜索,分页

来自分类Dev

如何使用重复的列名处理NHibernate映射联接

来自分类Dev

我如何执行此联接?

来自分类Dev

如何使用游标执行联接?

来自分类Dev

如何使用数据表执行内部滚动联接?

来自分类Dev

如何在此方案的mysql中执行联接查询

来自分类Dev

如何使用jquery在html中创建分页

Related 相关文章

  1. 1

    如何在SqlAlchemy中执行“左外部联接”

  2. 2

    如何使用分页在NHibernate中执行联接

  3. 3

    如何在子集中的Nhibernate中执行QueryOver

  4. 4

    如何在具有多个表联接的linq中执行左联接

  5. 5

    如何在LINQ中在单个联接中的多个字段上执行左联接

  6. 6

    如何使用分页方法

  7. 7

    如何在联接语句SQL Server中执行存储过程

  8. 8

    如何在ES中执行联接否定查询

  9. 9

    使用Fluent.NHibernate,如何基于Select语句执行插入

  10. 10

    我如何执行此联接?

  11. 11

    如何在此方案的mysql中执行联接查询

  12. 12

    在Pandas中执行“外部”联接时,如何覆盖相同的列名?

  13. 13

    Vue分页-如何使用?

  14. 14

    如何在MongoDB聚合管道中执行嵌套的“联接”(联接3个或更多集合)?

  15. 15

    如何在MySQL中执行此查询,我应该使用左联接还是右联接或内部联接使用哪一个?

  16. 16

    如何使用NHibernate Mapping.ByCode在非主键字段上联接表?

  17. 17

    使用SQL语法在LINQ中执行联接

  18. 18

    在NHibernate实体中执行查询

  19. 19

    在Oracle / SQL的主查询中执行与表的联接时,如何使用内联视图获取top-n?

  20. 20

    如何在Nhibernate中对子集合执行QueryOver

  21. 21

    如何在Django中执行联接和聚合计数

  22. 22

    执行合并时如何从联接的表中获取数据?

  23. 23

    如何在codeigniter中执行排序,搜索,分页

  24. 24

    如何使用重复的列名处理NHibernate映射联接

  25. 25

    我如何执行此联接?

  26. 26

    如何使用游标执行联接?

  27. 27

    如何使用数据表执行内部滚动联接?

  28. 28

    如何在此方案的mysql中执行联接查询

  29. 29

    如何使用jquery在html中创建分页

热门标签

归档