NHibernate-两张桌子的ICriteria?

NHibernate-两张桌子的ICriteria?,nhibernate,fluent-nhibernate,Nhibernate,Fluent Nhibernate,我在为两张桌子创建ICriteria时花了不少时间。 下面是我试图模仿的SQL。 有什么办法可以这样做吗? 我一直在尝试CreateAlias、子查询和其他一些东西,但我总是以错误告终。 我试着在nhusers谷歌群上发布这篇文章,但没有得到多少帮助。 谢谢 基姆 我个人对这类问题的看法是,您应该继续在纯SQL中编写这样的表达式,因为使用NHibernate标准API进行读取和维护只会更糟糕 只要您对查询有测试覆盖率,就可以安全地隐藏实现细节。为什么要使用icriteria而Hql会很容易使用?

我在为两张桌子创建ICriteria时花了不少时间。 下面是我试图模仿的SQL。 有什么办法可以这样做吗? 我一直在尝试CreateAlias、子查询和其他一些东西,但我总是以错误告终。 我试着在nhusers谷歌群上发布这篇文章,但没有得到多少帮助。 谢谢

基姆
我个人对这类问题的看法是,您应该继续在纯SQL中编写这样的表达式,因为使用NHibernate标准API进行读取和维护只会更糟糕


只要您对查询有测试覆盖率,就可以安全地隐藏实现细节。

为什么要使用icriteria而Hql会很容易使用?连接该代码属性上的对象

SELECT *
FROM Echo_File_status efs, Data_DELETION_PARAMETER ddp 
WHERE 
   efs.EFS_PRODUCT_CODE = DDP.DDP_PRODUCT_CODE(+) 
AND 
   DDP.DDP_PROCESS_TYPE = 'D' 
AND 
   ( ( trunc(nvl(efs.efs_file_create_date, sysdate)) > sysdate - dp.DDP_DAYS_ON_LINE ) or 
   ( efs.efs_status_code != 'ACKED' ) ) 
ORDER BY efs.efs_product_code, decode(efs.efs_status_code, 'READY', 1, 'TRANS', 2 , 'FAERR', 3, 'FCERR', 4, 'PRERR', 5, 'TRERR', 6, 'PREP', 7, 'PRCOM', 8, 'FCREA', 9 , 'TRCOM', 10, 'ACKED', 11, 1), 
      efs.efs_file_create_date DESC