Гость
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / NHibenate - клиентские запросы / 17 сообщений из 17, страница 1 из 1
23.03.2012, 12:32
    #37719835
maratoss
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NHibenate - клиентские запросы
Имею трехзвенную архитектуру, использую на киенте Silverlight, NHibernate на WCF-сервисе.

И такой вопрос возник, если какая-то возможность писать запросы на SELECT в клиентской части?
т.е. передавать допустим HQL/IQuery запрос на сервис для его выполнения.

Не хочется плодить банальные методы на поиск человека по имени и т.п.
...
Рейтинг: 0 / 0
23.03.2012, 12:37
    #37719847
SolYUtor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NHibenate - клиентские запросы
maratoss,

Можно. Вопрос том, готовы ли выставить такую возможность в сеть.
...
Рейтинг: 0 / 0
23.03.2012, 14:05
    #37720037
maratoss
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NHibenate - клиентские запросы
SolYUtorМожно. Вопрос том, готовы ли выставить такую возможность в сеть.

У меня интранет приложение, раграничение прав доступа согласно ролям Oracle,
то что нельзя получить - получить не сможет, если Вы про это?

Можно ссылку на такую возможность?

Если пользоваться HQL - тут все просто. Делаем метод, который принимает hql запрос в виде строки.
А если хотим динамический запрос, например с ICriteria, то тогда как.
...
Рейтинг: 0 / 0
23.03.2012, 14:21
    #37720074
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NHibenate - клиентские запросы
maratoss...У меня интранет приложение...
А нафиг тогда Вам "Silverlight, NHibernate на WCF-сервисе"?
...
Рейтинг: 0 / 0
23.03.2012, 14:22
    #37720078
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NHibenate - клиентские запросы
ПС. Не подумайте чего плохого. Просто пытаюсь держать нос по ветру.
...
Рейтинг: 0 / 0
23.03.2012, 14:27
    #37720105
SolYUtor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NHibenate - клиентские запросы
maratoss,

Есть старый добрый шаблон builder . Используете его на клиенте, а серверу отправляете уже готовый hgl-запрос.
...
Рейтинг: 0 / 0
23.03.2012, 14:32
    #37720119
maratoss
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NHibenate - клиентские запросы
ShSergemaratoss...У меня интранет приложение...
А нафиг тогда Вам "Silverlight, NHibernate на WCF-сервисе"?
Не понял вопроса.

Приложение банальные CRUD операции ну и + каскадное добавление/обновление.
Решил использовать, заодно изучить, данный ORM.
А SL, как клиент вполне годится.
...
Рейтинг: 0 / 0
23.03.2012, 14:54
    #37720179
maratoss
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NHibenate - клиентские запросы
SolYUtor,

Спасибо, сейчас что-нибудь наковыряю.
А насчет готовых решений, есть что-нибудь, не в курсе?
...
Рейтинг: 0 / 0
23.03.2012, 14:56
    #37720185
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NHibenate - клиентские запросы
maratossShSergeпропущено...

А нафиг тогда Вам "Silverlight, NHibernate на WCF-сервисе"?
Не понял вопроса.

Приложение банальные CRUD операции ну и + каскадное добавление/обновление.
Решил использовать, заодно изучить, данный ORM.
А SL, как клиент вполне годится.
То, что Вы написали для интранет не годится. Особенно, если учесть, что Вы не поняли моего простого вопроса. Вот этот самый CRUD, про который Вы, как бы между прочим, написали - это Ваша самая большая проблема и самая большая работа, даже если на nHibernate, хотя не рекомендую. А вот это: "Silverlight, NHibernate на WCF-сервисе" Вам вообще нафиг не нужно.
...
Рейтинг: 0 / 0
23.03.2012, 22:34
    #37720888
SolYUtor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NHibenate - клиентские запросы
ShSerge,

выкладывайте ваше решение. На идейном уровне.
...
Рейтинг: 0 / 0
24.03.2012, 10:44
    #37721167
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NHibenate - клиентские запросы
То, что нельзя формировать запросы на клиенте, известный факт. Интранет здесь не оправдание. Сколько уже раз такое случалось, когда обиженный начальством работник... . Это во-первых.
Изучение технологий - дело полезное, трудно с этим не согласиться, но зачем же такие сложности? Во-первых, сначала ограничивать себя безопасными интернет-технологиями, а потом формировать запрос на клиенте? Это во-вторых.
В третьих, я бы не заморачивался и написал бы простое клиент-серверное (два звена) приложение, если это интрасеть, например винформс - клиент, sql-сервер - сервер.
Но это так, моё скромное имхо.
...
Рейтинг: 0 / 0
24.03.2012, 13:26
    #37721262
SeVa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NHibenate - клиентские запросы
ShSergeТо, что нельзя формировать запросы на клиенте, известный факт. Интранет здесь не оправдание. Сколько уже раз такое случалось, когда обиженный начальством работник... . Это во-первых.
Изучение технологий - дело полезное, трудно с этим не согласиться, но зачем же такие сложности? Во-первых, сначала ограничивать себя безопасными интернет-технологиями, а потом формировать запрос на клиенте? Это во-вторых.
В третьих, я бы не заморачивался и написал бы простое клиент-серверное (два звена) приложение, если это интрасеть, например винформс - клиент, sql-сервер - сервер.
Но это так, моё скромное имхо.
В четвертых winform давно уже протух и есть масса вариантов, когда нужна распределенность и он не подходит.
Помимо этого давное есть REST c IQueryable и различные варианты обверток(например, WCF Data Services Client Library for Silverlight), которые преобразуют Linq запрос в нужный вид вызова сервиса.
В этом плане никаких особых ограничений нет, было бы желание и представление о возможностях технологии.
...
Рейтинг: 0 / 0
24.03.2012, 13:42
    #37721270
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NHibenate - клиентские запросы
SeVaВ четвертых winform давно уже протух и есть масса вариантов, когда нужна распределенность и он не подходит...
Что такое "распределённость" и почему не подходит и протух? В принципе, я уже больще пяти-шести лет не пишу двухзвенные клиент-серверные приложения. Может, соглашусь с Вами. Только что Вы имеете ввиду?
...
Рейтинг: 0 / 0
26.03.2012, 10:07
    #37722592
SolYUtor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NHibenate - клиентские запросы
ShSerge,

Сложно не согласиться, что лучше присылать не hql, а параметры запроса, и уже из них на сервере формировать уже сам запрос. По поводу wcf - сложнее, зависит от контекста. Может автору надо интеграцию с другими приложениями делать? Тогда сервер приложений ближе к делу. А сервелат немножко проще апргрейдить, нежели виндморды. Так что в этом тоже может быть смысл.
Но в целом могу с вами согласится (за исключением мнения о NH).
...
Рейтинг: 0 / 0
27.03.2012, 10:09
    #37724752
maratoss
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NHibenate - клиентские запросы
Планируется использование сервиса из другого приложения/другого сервиса.
Поэтому и решил вынести некоторую логику в сервис.

Возникла проблема с передачей объекта,
если включить Lazy, то вытягивается большая куча ненужных данных,
если отключить, то приложение падает из-за того что не может передать хибернейтовские классы/коллекции.

Погуглил, советуют использовать DTO, но придется по сути дублировать много кода с перекачкой из объекта в DTO.
А есть еще какие-нибудь способы передать объект на клиент?

Сложно не согласиться, что лучше присылать не hql, а параметры запроса, и уже из них на сервере формировать уже сам запрос.
Объясните плз, почему?
Единственный минус, который я вижу - это то что можно написать, неоптимизированный запрос и обязательное знание HQL.
Для первого случая можно придумать инструмент, который будет показывать в какой SQL код будет транслироваться HQL.
Для второго в принципе подойдет как вы сказали паттерн Builder.


А вот про WCF DataService еще не читал.
...
Рейтинг: 0 / 0
27.03.2012, 10:34
    #37724821
SolYUtor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NHibenate - клиентские запросы
maratossА есть еще какие-нибудь способы передать объект на клиент?
Серебряной пули нет. Я бы посоветовал остановится на DTO + object-object mapper.
И кстати, загрузкой объектов в NHibernate можно управлять на уровне запросов, а не только mapping'ов.
maratossОбъясните плз, почему?
Потому что при должном знании, какой-нибудь сотрудник может узнать что-нибудь интересное, но для него совсем не предназначенное. А если клеить на клиенте SQL - то это просто приглашение к SQL-iinjection.
...
Рейтинг: 0 / 0
30.03.2012, 08:54
    #37730765
maratoss
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NHibenate - клиентские запросы
Спасибо всем за разъяснения!
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / NHibenate - клиентские запросы / 17 сообщений из 17, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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