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

Sim*_*mon 74 linq nhibernate fetch eager-loading

NHibernate渴望加载可以使用Fetch和完成FetchMany,如在Mike Hadlow博客上的NHibernate Linq Eager Fetching中所述.

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

Die*_*hon 105

Fetch应该用于参考和FetchMany集合.

这一点特别重要,因为只能FetchMany结合ThenFetchMany获取"孙子"集合.

例:

session.Query<User>()
       .FetchMany(u => u.Orders)
       .ThenFetchMany(o => o.OrderItems)
Run Code Online (Sandbox Code Playgroud)

  • 如果您之后没有计划调用ThenFetch(),那么在集合上使用Fetch()会有问题吗? (5认同)
  • @hardywang:他们可以被链接以获取更多关卡的方式.只需看一下方法签名. (2认同)