nhibernate 2.0高效数据分页DataList控件和ObjectDataSource
我将如何使用 nHibernate 2 ObjectDataSource
http://weblogs.asp.net/scottgu/archive/2006/01/07/434787.aspx
下面是我的数据访问方法
public IList GetListOfUser(int rows, int pageIndex) {
IList userList = null;
using (ITransaction tx = _session.BeginTransaction()) {
try {
userList = _session.CreateQuery("Select u from User u where u.DateSubmitted is not null")
.SetFirstResult(rows * (pageIndex - 1) + 1)
.SetMaxResults(rows)
.List();
tx.Commit();
} catch (NHibernate.HibernateException ex) {
tx.Rollback();
AppUtil.LogHelper.WriteLog(LogLevel.ERROR, ex.ToString());
throw;
}
}
return userList;
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
实际上,如果您使用 ICriteria 查询,您可以使用此辅助方法在到服务器的一次往返中获取结果页面和总记录数:
它会克隆您的原始条件两次:一个返回页面记录的条件和一个返回总数的条件记录计数。它还使用 IMultiCriteria 在一次往返中执行两个数据库调用。
Actually, you can get the result page AND total records count in one roundtrip to the server using this helper method if you are using ICriteria queries:
It clone your original criteria twice: one criteria that return the records for the page and one criteria for total record count. It also uses IMultiCriteria to perform both database calls in one roundtrip.
让它工作,但是有两次调用
我将 itemCount 添加到了 ref 中:
Got it to work, but two calls
I added itemCount to a ref: