Я звоню в Dynamics 365 через его OData Web Api, и мне интересно, какую клиентскую библиотеку я мог бы использовать, чтобы упростить программирование.
Мой вариант использования заключается в том, что мне в основном приходится работать с одним объектом: контакт. Я хотел бы получить некоторые данные, редактировать данные и создавать новые контакты. Другой тип сущности, с которым я работаю подобным образом, это адрес. Контакт может иметь несколько адресов.
В настоящее время я использую простой HTTP-класс клиента для связи с Dynamics.
Я занимаюсь разработкой приложения .NET Core для хостов Linux, поэтому не могу использовать Dynamics CRM SDK (конечная точка SOAP).
Мой вопрос: какой совет вы должны использовать: Microsoft.OData.Client или Simple.OData.Client ? Или любая другая библиотека?
Я попытался использовать Microsoft.OData.Client и сгенерировал клиента (прокси / оболочку) в соответствии с этой статьей: https://blogs.msdn.microsoft.com/odatateam/2014/03/11/tutorial-sample-how-to-use-odata-client-code-generator-to-generate-client-side-proxy-class/
Проблема в том, что он генерирует файл .cs с размером файла 86 МБ. Возможно, это могло бы быть решением для использования этого клиента впоследствии, но кажется таким неправильным иметь такой большой исходный файл в нашем проекте. Я бы хотел этого избежать, но я не нашел возможности сгенерировать это. Если я случайно открою его, Visual Studio аварийно завершит работу, несколько раз получит intellisense get, если ReSharper включен, VS резко замедлится и т. Д ...
Я проверил Simple.OData.Client и, похоже, имеет хорошую документацию и API. Например: https://github.com/object/Simple.OData.Client/wiki/Retrieving-data
Для Microsoft.OData.Client я не нашел документации о том, как использовать его типизированным способом без генерации всего клиента. Это возможно? Я только нашел это, где сгенерированный контекст используется: http://odata.github.io/odata.net/v6/#04-01-basic-crud-operations
Я думаю, что лучше использовать Simple.OData.Client, но я бы предпочел использовать библиотеку Microsoft.
Есть ли у вас какие-либо рекомендации?