Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
15.06.2011, 19:31
|
|||
---|---|---|---|
|
|||
NHibernate и запрос по свойству подкласса |
|||
#18+
Пусть у нас есть 3 класса: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9.
Напишем запрос: Код: plaintext 1. 2. 3. 4.
Все замечательно работает.... Пока у всех FastCarOwner'ов машины класса RacingCar... А вот как бы добавить проверку типа Car в запросе (или лучше приведение типа)? То что свойство Car в классе Owner имеет тип Car, а не RacingCar - это ошибка проектирования с точки зрения персистентных POCO-классов или вполне допустимый вариант? Вот еще нашел более расширенный вариант описываемой мною проблемы. тут И решение, которое предлагают там, более понятное. Но не ясно все таки стоит ли усложнять код в данном случае? Всем спасибо за внимание! ... |
|||
:
Нравится:
Не нравится:
|
|||
|
16.06.2011, 11:29
|
|||
---|---|---|---|
|
|||
NHibernate и запрос по свойству подкласса |
|||
#18+
Criteria строится по вашему маппингу (по какой-то структуре в БД), задайте себе вопрос, "какой надо сгенерировать sql query ?" и дальше создавайте критерию с нужными алиасами чтоб получить этот запрос. например если у вас такая же стурктура таблиц как и классы: Car:Id<-RacingCar:Id(FK_Car) Car:Id<-FamilyCar:Id(FK_Car) Owner:CarId то вам просто надо джоин (алиас) делать по интересующей вам таблице RacingCar и у вас навернека будут только владельцы с этим типом машин ... |
|||
:
Нравится:
Не нравится:
|
|||
|
16.06.2011, 13:51
|
|||
---|---|---|---|
|
|||
NHibernate и запрос по свойству подкласса |
|||
#18+
stimpi, спасибо за ответ, но я не до конца понял. :) Вы пишете: авторвам просто надо джоин (алиас) делать по интересующей вам таблице RacingCar и у вас навернека будут только владельцы с этим типом машин Однако такой алиас я написать не могу, так как у свойства Car в классе Owner стоит тип Car, а не RacingCar. Или могу? Каким образом можно в CreateAlias указать интересующую таблицу?? Так не заработает: Код: plaintext 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
16.06.2011, 16:17
|
|||
---|---|---|---|
|
|||
NHibernate и запрос по свойству подкласса |
|||
#18+
вот так, но в маппинге RacingCar это subclass от Car Код: plaintext 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/search_topic.php?author=%D0%92%D0%BE%D1%82+%D0%BF%D0%BE%D0%BF%D1%8B%D1%82%D0%B0%D0%BB%D1%81%D1%8F&author_mode=last_topics&do_search=1]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
180ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
33ms |
get tp. blocked users: |
2ms |
others: | 860ms |
total: | 1147ms |
0 / 0 |