2012-07-03 477 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相同。