【发布时间】:2010-03-02 09:20:14
【问题描述】:
我知道 LINQ-to-NHibernate 目前不支持子查询 (http://ayende.com/Blog/archive/2009/07/26/nhibernate-linq-1.0-released.aspx)。
有什么解决办法吗?
【问题讨论】:
标签: c# linq nhibernate linq-to-nhibernate
我知道 LINQ-to-NHibernate 目前不支持子查询 (http://ayende.com/Blog/archive/2009/07/26/nhibernate-linq-1.0-released.aspx)。
有什么解决办法吗?
【问题讨论】:
标签: c# linq nhibernate linq-to-nhibernate
linq-to-nh 支持 where 子句中的子查询。这正是我需要的东西。我之前的回答错了。 martijnboland 和 Stefan Steinegger 都是对的。要了解如何在 linq-to-nh 中进行子查询,请参阅 this 和 this。还有limitations。
【讨论】:
我认为解决方法只是使用 HQL 或 Criteria。
【讨论】:
DetachedCriteria 构建并添加.Add(Subqueries.Blah(subquery))(其中Blah 是Exists 或PropertyIn 或类似的东西)
我没有使用过 nhibernate to linq,但我相信您几乎可以将任何子查询转换为连接
【讨论】:
where子句中的子查询。你是对的。
我已使用两部分 LINQ 查询作为解决方法。用于不相关子查询部分的 LINQ-to-NHibernate 和用于查询的子查询相关部分的 LINQ-to-Object。详情请见http://afsharm.blogspot.com/2010/03/dealing-with-subqueries-in-linq-to.html。
【讨论】: