LINQ to NHibernate is a really nice addition to the framework and makes querying the database much easier and more enjoyable. The queries are also much more readable than the same queries written in HQL, Criteria Query, or QueryOver syntax. Also, LINQ queries are composable in the same way we used from LINQ to objects.
However, there also lies the danger of this API if not used carefully. To fully leverage LINQ we have to understand the system boundaries.
As long as we stay in the context of LINQ to NHibernate, we are dealing with sets of results of type
T is the placeholder for the entity we are querying, for example,
LINQ queries are always executed by lazy loading. That ...