Linq for NHibernate和fetch模式的急切加载

Nab*_*ilS 44 linq nhibernate eager fetch

有没有办法使用linq for nhibernate将fetchmode设置为渴望多个对象.似乎有一种扩展方法,它只允许我设置一个对象.但是我需要为多个对象设置它.这可能吗?谢谢

Mik*_*low 105

新的Linq提供商的做法有所不同:

var customers = session.Query<Customer>().Fetch(c => c.Orders).ToList();
Run Code Online (Sandbox Code Playgroud)

更多信息:http: //mikehadlow.blogspot.com/2010/08/nhibernate-linq-eager-fetching.html

  • 获取孙子:`var customers = session.Query <Customer>().FetchMany(c => c.Orders).ThenFetchMany(o => o.OrderLines).ToList();` (3认同)

Pac*_*aco 18

只需使用它一次.

IList<Entity> GetDataFromDatabase()
{
    var query = session.Linq<Entity>();
    query.Expand("Property1");
    query.Expand("Property2");
    return query.ToList();
}
Run Code Online (Sandbox Code Playgroud)

  • 或query.Expand("Property1,Property2"); (6认同)
  • 这是扩展方法吗?在NHibernate.Linq v2.0.50727中找不到它. (2认同)

小智 8

据我所知,这不等同:SetFetchMode水合对象树,Expand方法检索笛卡尔积.