在NHibernate Linq提供程序中获取vs FetchMany

NHibernate预先加载可以使用FetchFetchMany ,如NHibernate Linq Eager在Mike Hadlow的博客上的描述。

这两种方法之间有什么区别,在什么情况下都会使用?

Fetch应该用于引用,而FetchMany用于集合。

这是特别重要的,因为只有FetchMany可以和ThenFetchMany结合来获取“孙子”集合。

例:

 session.Query<User>() .FetchMany(u => u.Orders) .ThenFetchMany(o => o.OrderItems) 
Interesting Posts