2012-07-03 265 views
0

我是新来的Nhibernate与C#。Nhibernate用子查询选择查询?

这里是我的SQL查询:

select * from advis_productattributes where ID in 
(select attributeid from advis_productattributes_products where productid=1); 

我知道在HQL大约简单的选择查询:

string hql = @"select p from ProductAttributes_Products p.ProductId :id"; 
var query = new SimpleQuery<ProductAttributes_Products>(hql); 
query.SetParameter("id", ProductId); 
return query.Execute(); 

我已搜查净,但仍然失败。如何用子查询编写HQL?

这里是类的设计。 enter image description here

+1

你能展示相关的模型类吗? –

+0

@ClaudioRedi我已经用diagrame更新了问题。谢谢 – user576510

回答

1

我相信你可以通过使用NHibernate LINQ来实现这一点。请参考这些堆栈溢出Answer #1Answer #2

+0

谢谢@Aravinth Kannan,我很抱歉,我是NHibarnate的拳头日。 Nhibarnate Linq Linq是否适合Nhibarnate?我需要其他类/控件来使用它吗?感谢 – user576510

+2

嗨,你不需要任何额外的控件来使用NHibernate的Linq。它全部捆绑在你的NHibernate库中。你可以参考这个[教程](http://www.d80.co.uk/post/2011/02/20/Linq-to-NHibernate-Tutorial.aspx)开始。 –

0

,其中在网络上搜索你,我不知道到底......但官方的文档都需要知道在HQL

subqueries

这是相当多的与SQL相同。