有没有办法使用 linq for nhibernate 将 fetchmode 设置为渴望多个对象。似乎有一种扩展方法,它只允许我设置一个对象。但是我需要为多个对象设置它。这可能吗?谢谢
问问题
20855 次
4 回答
106
新的 Linq 提供程序的做法略有不同:
var customers = session.Query<Customer>().Fetch(c => c.Orders).ToList();
更多信息:http: //mikehadlow.blogspot.com/2010/08/nhibernate-linq-eager-fetching.html
于 2010-08-06T11:22:07.893 回答
19
只需多次使用它。
IList<Entity> GetDataFromDatabase()
{
var query = session.Linq<Entity>();
query.Expand("Property1");
query.Expand("Property2");
return query.ToList();
}
于 2009-05-06T23:57:20.630 回答
8
据我所知,这并不等同:SetFetchMode 水合对象树,而 Expand 方法检索笛卡尔积。
于 2009-09-20T20:23:24.967 回答
1
在继续@Mike Hadlow
回答,获取下一个级别(孙子)你需要做:
var customers = session.Query<Customer>()
.FetchMany(c => c.Orders)
.ThenFetchMany(o => o.OrderLines).ToList();
于 2016-12-15T13:15:45.047 回答