考虑下表:(流利)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