Есть ли оболочка класса .NET для протокола OData? - PullRequest
8 голосов
/ 02 сентября 2010

Кто-нибудь знает, существует ли оболочка .NET с открытым исходным кодом, которая может надежно проанализировать протокол OData Uri ?

Я не ищу указателей на службы данных WCF ... Я создаю службу запросов данных на основе WCF, которая (по сложным причинам) не может быть реальной службой Atom / OData, но мне действительно нравится выразительность OData Uri для определения источника данных и параметров запроса. Кроме того, мы можем предоставить конечную точку OData в будущем.

Я просмотрел (кратко) API-интерфейс службы данных WCF, и, похоже, нет аккуратно упакованного класса ODataUri, который предоставляет узел службы, путь к ресурсу и параметры запроса. Я могу написать один, но прежде чем я это сделаю, я бы лучше посмотрел, если кто-то уже сделал это.

1 Ответ

6 голосов
/ 02 сентября 2010

Я знаю, что вы сказали, что смотрели на API, но смотрели ли вы на настоящий код. Клиентская библиотека .Net была открыта с исходным кодом, http://odata.codeplex.com/, поэтому, если вы не можете найти ее там, вы можете использовать их код в качестве отправной точки (и, надеюсь, передать его сообществу).

По сути, вам нужен поставщик LINQ to OData Uri. Если я правильно помню, одно из прозвищ Астории было LINQ to REST. На стороне клиента необходимо преобразовать дерево выражений LINQ в формат URI OData, а на сервере преобразовать URI обратно в дерево выражений LINQ. Создание пользовательских провайдеров LINQ - не самая легкая вещь, но Мэтт Уоррен имеет большую (длинную) серию по созданию провайдеров IQueryable http://blogs.msdn.com/b/mattwar/archive/2008/11/18/linq-links.aspx

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