Можно ли портировать и использовать Nhibernate CriteriaAPI в Silverlight поверх WCF? - PullRequest
0 голосов
/ 20 июля 2011

Я собирался написать и использовать какой-то критерий API в проекте Silverlight для передачи сложных динамических запросов в службу WCF.

Сначала я подумал об использовании QueryObject: UserQuery {int? AgeMin; Int? AgeMax; строка NameContains; string NameStartWith;} и т. д., если какое-либо свойство не равно нулю, чем мы используем какой-то фильтр, но как насчет логических операторов? (И Или) У меня нет возможности указать эту логику с помощью QueryObject.

Итак, я собирался написать какой-то API критериев с построителем предикатов, который объединяет выражения AND, OR, но я уже использовал API критериев NHibernate на стороне сервера, почему бы просто не вырвать его из Nhibernate в библиотеке классов Silverlight? В Интернете я не нашел никаких доказательств использования API критериев NHibernate в Silverlight, это странно, вытащить его из Nhibernate невозможно или это не имеет смысла? Почему это не используется? Для меня это выглядит как хорошее решение, лучше, чем кодирование собственного API.

Ответы [ 2 ]

1 голос
/ 28 июля 2011

построение запросов на клиенте - плохая идеяпользователь для создания пользовательских сложных запросов на стороне клиента?

Как насчет RIA Services, которая предоставляет интерфейс запросов к базе данных.

Это похоже на клише.Люди просто постоянно повторяют это, потому что где-то читают, но не знают почему.

Я не согласен с этим, я думаю, что возможность составлять пользовательские сложные запросы на стороне клиента является разумным требованием для ориентированных на данные приложений Line Of Business.

0 голосов
/ 20 июля 2011

добавить к ответу коллеги - это никогда хорошая идея получить запросы, которые построены на стороне клиента. в интранете или другом приложении.
QueryObjects - это путь.
Вы можете создать выражение на стороне клиента (например, (Name like '%blah' or LastName like 'something') and Id > 5), а на стороне сервера - использовать деревья выражений .net (см. также здесь и здесь ), или внедрите свой собственный движок ( общая идея ).

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