Использование служб данных WCF (OData) из .NET с нетипизированными объектами - PullRequest
3 голосов
/ 27 июля 2011

У меня есть требование к веб-приложению ASP.NET отправлять лиды в систему crm через OData.

Единственным API для использования OData в .Net, кроме использования уровня HTTP, является класс DataServiceContext и вызов его общего метода CreateQuery<>, например. CreateQuery<Lead>("LeadSet"); однако для этого в моем коде должны быть строго типизированные классы, соответствующие сущностям OData.

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

Есть ли способ использовать DataServiceContext с нетипизированными объектами? Или есть другая клиентская библиотека OData, о которой я не знаю?

Моя цель - написать что-то вроде этого:

var lead = new Entity("Lead");
lead["name"] = "Larry Jones";
lead["source"] = "google";
lead["email"] = "test@test.com";
context.AddObject("LeadSet", lead);
context.SaveChanges();

Может быть, с помощью динамического это можно сделать?

1 Ответ

3 голосов
/ 27 июля 2011

В настоящее время мы работаем над этим, так называемой ODataLib. Первая его CTP является частью CTP1 служб данных WCF: http://blogs.msdn.com/b/astoriateam/archive/2011/06/30/announcing-wcf-data-services-june-2011-ctp-for-net4-amp-sl4.aspx. Хотя эта версия может читать только JSON и только если у вас есть метаданные, то, скорее всего, она пока не может быть использована вами. Мы работаем над чтением ATOM и облегчением истории метаданных. Существует также исходная версия, хотя эта версия немного старше: http://odata.codeplex.com/releases/view/60787

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