Check Ayende post on the topic: Combating the Select N + 1 Problem In NHibernate
Basically, when using an ORM like NHibernate or EntityFramework, if you have a one-to-many (master-detail) relationship, and want to list all the details per each master record, you have to make N + 1 query calls to the database, “N” being the number of master records: 1 query to get all the master records, and N queries, one per master record, to get all the details per master record.
More database query calls –> more latency time –> decreased application/database performance.
However, ORM’s have options to avoid this problem, mainly using “joins”.
Topic on StackOverflow: http://stackoverflow.com/questions/97197/what-is-the-n1-selects-problem