Book Image

NHibernate 2 Beginner's Guide

By : Aaron Cure
Book Image

NHibernate 2 Beginner's Guide

By: Aaron Cure

Overview of this book

<p>NHibernate is an open source object-relational mapper, or simply put, a way to retrieve data from your database into standard .NET objects. Quite often we spend hours designing the database, only to go back and re-design a mechanism to access that data and then optimize that mechanism. This book will save you time on your project, providing all the information along with concrete examples about the use and optimization of NHibernate.<br /><br />This book is an approachable, detailed introduction to the NHibernate object-relational mapper and how to integrate it with your .NET projects. If you're tired of writing stored procedures or maintaining inline SQL, this is the book for you.<br /><br />Connecting to a database to retrieve data is a major part of nearly every project, from websites to desktop applications to distributed applications. Using the techniques presented in this book, you can access data in your own database with little or no code.<br /><br />This book covers the use of NHibernate from a first glance at retrieving data and developing access layers to more advanced topics such as optimization and Security and Membership providers. It will show you how to connect to multiple databases and speed up your web applications using strong caching tools. We also discuss the use of third-party tools for code generation and other tricks to make your development smoother, quicker, and more effective.</p>
Table of Contents (19 chapters)
NHibernate 2
Credits
About the Author
About the Reviewers
Preface
Index

Paging and Sorting GetAll() methods


The GetAll() methods mentioned earlier are very useful, but what if we only want a subset of those records? For example, what if we want the first 25 instances, then the next 25, and so on? This happens a lot in ASP.NET applications when we want to return paginated data 25 records at a time, instead of an entire list of 5,000 records.

In order to make this work, we simply need to tell the criteria what record to start returning from, and how many records to return. With one more variable, SortExpression, we can tell it to sort the records also, so that paging and sorting can be added to our data-bound controls such as the gridview.

To make this work, we need to pass in an integer for firstResult to return, a second integer for the maxResults to return, and a string for the sortExpression.

When ASP.NET passes the sort criteria, it is in the form "SORT_FIELD" or "SORT_FIELD<space>DESC". We need to split this field on the space, and if the second field...