2012-08-12 72 views
0

有没有办法添加和自定义一些LEFT JOIN条件? 我需要它像下一个本地SQL(Oracle查询)产生:流利的NHibernate - 如何自定义“左连接”条件?

LEFT JOIN TableB B ON SomeStoredProc(MainTable.ColumnA || MainTable.ColumnB) = B.TableB_Key 
LEFT JOIN TableC C ON C.Some_TableC_Column = B.Some_TableB_Column 

我需要两个连接是在相同的查询。

所以,我需要一些帮助三点:

  • 如何添加Storec过程调用;
  • 如何添加“||” (串接)操作员使用情况;
  • 如何将两个LEFT JOIN添加到相同的查询?

非常感谢!

+0

AFAIK NHibernate的不支持在联接列的存储过程。也许你可以映射一个到多个tableb与集合映射 – Firo 2012-08-13 15:17:00

+0

SQL查询我不知道,你可以显示一些示例? – Zarathustra 2012-08-23 10:43:51

回答

0

一些想法设法

  • <bag property-ref="(SomeStoredProc(ColumnA || ColumnB))"
  • <bag where="(SomeStoredProc(ColumnA || ColumnB))"
  • 也许调整这个<many-to-many formula="any SQL expression"