Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
NHibernate: Перевести с HQL на Criteria API
|
|||
|---|---|---|---|
|
#18+
Привет всем! Помогите перевести запрос с HQL на Criteria API. Есть два класса сущностей, не связанных в маппингах никакими асоциациями Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Код: plaintext 1. 2. 3. 4. 5. 6. Непонятно как на Criteria выразить связь e1 и e2. У ICriteria вроде бы только есть методы для хождения по ассоциациям, а тут никаких ассоциаций нет. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2010, 22:10 |
|
||
|
NHibernate: Перевести с HQL на Criteria API
|
|||
|---|---|---|---|
|
#18+
SergASh, можно так (общая идея): DetachedCriteria dc = DetachedCriteria.For<Entity2>().Add(Restrictions.IdEq(ids)).SetProjection(Projections.Property("Name")); var ent1 = CreateCriteria(typeof(Entity1)).Add(Subqueries.PropertyEq("Name", dc).List<Entity1>(); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2010, 11:08 |
|
||
|
NHibernate: Перевести с HQL на Criteria API
|
|||
|---|---|---|---|
|
#18+
barser, спасибо за идею После небольших правок заработало: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Код: plaintext 1. 2. 3. 4. 5. 6. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Как быть в таком случае? Ведь Subqueries.PropertyIn не умеет работать с группой полей, да и в T-SQL оператор IN поддерживает только одиночное поле. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2010, 12:08 |
|
||
|
NHibernate: Перевести с HQL на Criteria API
|
|||
|---|---|---|---|
|
#18+
SergASh, мне тоже было бы интересно это узнать... можно попробовать создать DetachedCriteria dc, не задавая в конце цепочки SetProjection(). А уже в каждом подзапросе задавать интересующую проекцию Subqueries( ... , dc.SetProjection(...)). Но это так... теория, надо пробовать :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2010, 13:52 |
|
||
|
|

start [/forum/topic.php?fid=17&fpage=49&tid=1350955]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
135ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
30ms |
get tp. blocked users: |
1ms |
| others: | 230ms |
| total: | 431ms |

| 0 / 0 |
