Linq-to-NHibernate是否支持在单个查询中从多个实体检索数据?
e.g:
Dim query = From f In context.Session.Linq(Of Floor)() _
Select f.Id, f.Name, f.Building.Id, f.Building.Name
Dim results = query.ToList()
其中Building
是Floor
的父实体。
答案 0 :(得分:2)
您需要在session.Linq上使用Expand方法。例如(抱歉,在c#中),
var linq = session.Linq<Floor>();
linq.Expand("Building"); //causes "Building" to be eagerly loaded.
//Then your linq query goes here...
答案 1 :(得分:1)
应该可以,因为NHibernate原生支持这个。但我没有使用Linq-to-NHibernate的经验。
您是否尝试过查询,如果是,那么响应是什么?
答案 2 :(得分:1)
我一直在玩Expand。关于存储库模式的有趣观点。
但是,在@ Simon的例子中,立即打击我的是魔法字符串“Building”的味道。我最终看到了来自Marcin Budny的博客文章。
http://marcinbudny.blogspot.com/2009/10/typed-expand-for-linq-to-nhiberante.html
适合我。