OData Linq to строка запроса
Я использую веб-API с поддержкой запросов OData (ночные рубашки), и хотя я знаю, что библиотека WCF дает вам возможность запрашивать URL-адреса службы WCF RIA, что я ищу, это легкий способ генерации строк запроса Odata, как LinqPad, но более обобщенно.
например, если мы знаем, что служба возвращает определенный тип say "ProductDTO", я хочу иметь возможность сделать что-то вроде этого:
(from p in ODataSource<ProductDTO>
where p.Name == "hi"
select new {p.Model, Name}).ToODataQuery();
который вернет соответствующий $filter и $select команды в виде строки, которая может быть добавлена к URL.
кто-нибудь знает любую библиотеку, которая может сделать что-то подобное?
2 ответов
другой возможностью было бы использовать простой.Службы OData.Клиент как изложить здесь: можно ли использовать эту библиотеку только для создания url-адреса запроса?.
Я не использовал его, но исследую аналогичную тему, и похоже, что он должен предоставить функциональность, которую вы ищете: https://bitbucket.org/jjrdk/linq2rest/wiki/Home
вот статья, которая показывает использование его в качестве клиента oData: http://blog.petegoo.com/index.php/2012/03/11/creating-a-net-queryable-client-for-asp-net-web-api-odata-services/
на основе вики (и не на основе какого-либо опыта работы с linq2rest), похоже, что он идет в обоих направлениях - выражение LINQ для строки запроса и строка запроса для выражения LINQ.