2011-08-17 69 views
2

我有一個QueryOver結果集使用nHibernate可以將QueryOver結果與linq查詢混合使用嗎?

var res = GetResults(session, group_id, search_criteria).Select(x => x.GroupId); 

我知道下面給出了一個錯誤。
我的問題是是否有一些方法可以在我的linq查詢中使用res?

var linqResults = (from vg in session.Query<vGraph>() 
    join rs in res on vg.vId equals res.GroupId 
    select vg); 
+1

我不認爲這是可能的,因爲QueryOver和LINQ使用引擎蓋下不同的實現(QueryOver - >標準中的LINQ - > HQL) – Firo

+0

我想你可能是正確的。任何方式將QO轉換成LINQ可以使用的形式? – Noah

+0

不是我所知道的。 – Firo

回答

1

你仍然可以求助於一個linq查詢,它使用你首先查詢的執行結果。

var res = GetResults(session, group_id, search_criteria).Select(x => x.GroupId).List(); 

var linqResults = 
    (from vg in session.Query<vGraph>() 
    where vg.vId.IsIn(res) 
    select vg); 
+0

謝謝,那正是我所期待的。這當然假定水庫有不到2100件物品。但爲我的目的可以 – Noah

相關問題