powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / NHibernate. Добавление функции в диалект
2 сообщений из 2, страница 1 из 1
NHibernate. Добавление функции в диалект
    #38083065
maratoss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите пожалуйста, можно ли сделать данный запрос на критериях?

Добавил функции в диалект:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
     internal class MyOracleDialect : NHibernate.Dialect.Oracle10gDialect
     {
         public MyOracleDialect()
         {
             RegisterFunction("packedString", new StandardSQLFunction("w_common.f_pack_str"));
             RegisterFunction("concat", new StandardSQLFunction("concat"));
         }
     }



Запрос HQL:
Код: c#
1.
2.
3.
4.
IList<Part> parts = 
     session.CreateQuery("from Part p where p.CompactName like concat(packedString(:p), '%')")
               .SetParameter("p", "ЗКС15.")
               .List<Part>();



Вот сгенеренный SQL:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
 SELECT PART0_.ID            AS ID1_,
        PART0_.RN_ISPOB      AS RN2_1_,
        PART0_.OBOZN         AS OBOZN1_,
        PART0_.NAIM          AS NAIM1_,
        PART0_.PACK_OBOZN    AS PACK5_1_,
        PART0_.MODEOFEXECUTE AS MODEOFEX6_1_,
        PART0_.ORDERNAME     AS ORDERNAME1_,
        PART0_.ROUTE         AS ROUTE1_
   FROM W_ZEX003.MV_PART PART0_
  WHERE PART0_.PACK_OBOZN LIKE CONCAT(W_COMMON.F_PACK_STR(:P0), '%');
 :P0 = '??????15.' [ TYPE :STRING(6) ]
...
Рейтинг: 0 / 0
NHibernate. Добавление функции в диалект
    #38083103
SolYUtor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maratoss,

не уверен, но подозреваю что для этого придётся сделать свой ICriterion.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / NHibernate. Добавление функции в диалект
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]