2013-08-28 2 views
1

У нас есть пользовательский (DSS) на основе .NET/SQL и хотел бы предоставить возможности OData.Реализация OData с пользовательским DAL

В первую очередь мы просто заинтересованы в возможности простого запроса данных, но позже захотим разрешить обновления, и, я думаю, будут проблемы с безопасностью, о которых нужно подумать. В конечном счете мы смотрим на «Приложения» и используем что-то вроде JayData/Breeze для управления связью.

У нас есть богатый набор метаданных, который позволяет нам прикрепить вычисленные столбцы к нашим источникам данных, которые затем могут быть извлечены из нашего DAL, как если бы они были столбцами базы данных.

Мы не используем EF вообще. Как начать обнародовать данные через OData? Мы активно инвестируем в наш DAL, который отлично работает для всех наших приложений на базе Windows. Реализация IQueryable звучит как монументальная задача. Должны ли мы использовать службы WCF или веб-API?

Эта статья выглядит как хорошее начало, я думаю, что мы можем получить ODataQueryOptions и переосмыслить это во что-то, с чем может работать наш DAL.

http://blogs.msdn.com/b/webdev/archive/2013/02/25/translating-odata-queries-to-hql.aspx

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

+0

Пример вы перечислили является хорошей отправной точкой, я хотел больше контроля и в конечном итоге того, чтобы написать свою собственную версию ODataQueryOptions обрабатывать такие вещи, как $ inlinecount, $ фильтра, а также $ выберите. –

+0

Спасибо. Вы просто разбираете необработанный запрос OData? Вы используете WebAPI? Какую справочную документацию вы использовали? BTW Я думаю, что последняя сборка OData в WebAPI обрабатывает $ select и $ filter, вы можете получить полезную информацию обратно в ODataQueryOptions - у меня просто отсутствует хороший ресурс для всех различных свойств, которые MSDN довольно не хватает. – user1894205

+1

Вы можете видеть, что я здесь сделал - [MicroLite.Extensions.WebApi] (https://github.com/TrevorPilley/MicroLite.Extensions.WebApi). Я основывал имена объектов и структуры на ASP.NET, чтобы я мог вернуться к этому, если он дойдет до того, что он поддерживает все, что мне нужно. Я использовал используемые детали на веб-странице, которую вы уже указали, и пример поставщика NHibernate на codeplex для создания моей. –

ответ

0

Это что-то вроде этого вы ищете? http://msdn.microsoft.com/en-us/data/gg601461.aspx

С наилучшими пожеланиями дБ

+0

Я думаю, что для этого потребуется «IQueryable», который OP заявил, что у них его нет. –

Смежные вопросы