NHibernate - ICriteria для двух таблиц? - PullRequest
0 голосов
/ 30 декабря 2011

У меня очень много времени на создание ICriteria для двух таблиц. SQL, который я пытаюсь имитировать, приведен ниже. Есть какой-либо способ сделать это? Я пробовал CreateAlias, подзапросы и кучу других вещей, но я всегда сталкиваюсь с ошибками. Я пытался опубликовать это в группе Google nhusers, но не получил большой помощи. Благодарю.

Kim

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 

Ответы [ 2 ]

1 голос
/ 31 декабря 2011

Зачем использовать icriteria, в то время как Hql будет простым в использовании?Присоедините объекты к этому свойству кода.

0 голосов
/ 31 декабря 2011

Мое личное мнение по поводу такого рода проблем заключается в том, что вы должны просто продолжать писать подобные выражения на чистом SQL, поскольку читать и поддерживать их будет только хуже, если использовать API критериев NHibernate.

Пока у вас есть тестовое покрытие для запроса, вы можете спокойно скрывать детали реализации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...