考慮下表:(流利)NHibernate的請在
tool
*toolid
*n other fields
process
*processid
*n other fields
toolprocess
*toolprocessid
*toolid
*processid
*n other fields
當試圖選擇所有工具,適用於特定的過程中,我得到了幾千選擇上toolprocess在我的LINQ的看起來是這樣的:
from tool in tools
where toolprocesses.Any(t=>t.Tool.Id==tool.Id)
select tool
其中toolprocesses包含toolprocesses具有相同的ProcessID列表
在SQL我只想寫
SELECT * FROM TOOL WHERE toolid IN
(SELECT TOOLID FROM TOOLPROCESS WHERE processid = 'someid');
它幾乎不需要花時間和預期
工作我怎樣才能NHibernate的創建此查詢(或類似的東西)?
你會使用QueryOver解決Exists問題嗎? – Phill