2012-08-12 36 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"