Сериализация фильтра LinqtoNh / предложение порядка - PullRequest
0 голосов
/ 16 ноября 2011

У меня есть веб-сервис REST, который использует LinqtoNh, чтобы запрашивать объекты и возвращать их как DTO, простые классические вещи.Я хочу, чтобы служба применила некоторое условие фильтра / порядка к возвращаемым объектам, и я спрашиваю, существует ли какой-либо способ сериализации выражения linqtonh для отправки его по проводам без создания какой-либо пользовательской стратегии.Плюсом было бы отсутствие ссылки NH на клиента.Любое предложение?

1 Ответ

1 голос
/ 17 ноября 2011

Взгляните на сервисы WCF Ria: он предоставляет сервис WCF Rest, который поддерживает фильтрацию, сортировку, разбиение на страницы и группировку LINQ. На стороне сервера DomainService создаст запрос LINQ с «Где», «Заказ *», «Взять», «Пропустить» ...
Избегать ссылок на NH - отличная идея, реализовать свой собственный IQueryable, связать его с NHibernate (возможно, вы захотите использовать движок IoC для этого) и вернуть его в открытых запросах! Вы почти закончили, большинство вызовов LINQ2NH являются стандартным методом расширений LINQ, вам придется написать что-то еще, если вам нужно использовать метод расширения для извлечения (Fetch *) или другие симпатичные NHibernate-вещицы.
Что касается клиента, WCF Ria изначально предназначен для SL, но поддерживает все , у них даже есть клиент JS под названием RIA / JS

...