NHibernate uses lazy loading, so to prevent a 1-n query, you have to tell NHibernate to fetch associations as well. With Linq to NHibernate this is done with Fetch and FetchMany. In the example below you see a call to get an Order with the forced join with the associations I needed in a view.
var orders = session.Query<Order>()
.FetchMany(o => o.OrderItems)
.ThenFetch(oi => oi.Item)
.ThenFetch(i => i.Manufacturer)
.FetchMany(o => o.AdditionalItems)
.FetchMany(o => o.Rebates)
.Fetch(o => o.Customer)
.Where(o => o.PeriodStart <= toDate)
.Where(o => fromDate <= o.PeriodEnd)
.OrderBy(o => o.PeriodStart);