我正在尝试使用 C# 访问 CRM 的 WebAPI,我想知道是否有一种方法可以为 WebAPI 响应生成强类型,类似于CrmSvcUtil
基于组织服务生成强类型的方法
我尝试使用OData v4 客户端代码生成器(可从Marketplace获得)来生成代码,这适用于简单的结构(整数、字符串、小数),但它似乎对更复杂的类型(例如查找)有问题
例如,拨打/api/data/v9.0/accounts(fca0da1c-8fc3-e711-a825-000d3ae09197)?$select=_primarycontactid_value
将检索指定帐户的主要联系人 ID。
问题是它_primarycontactid_value
没有映射到生成的对象的任何属性,Account
并且当反序列化 JSON 结果时,该primarycontactid
属性保留为 null
在下面解决达里尔的评论;我决定直接使用 CRM WebAPI(而不是通过 SDK)是基于此处找到的信息:
如 Microsoft Dynamics CRM 2011 端点中所述,Dynamics CRM 2011 端点已被弃用,取而代之的是 Web API。弃用一个端点是一件大事,尤其是当编程模型与这两个端点一样不同时。我们强烈鼓励开发人员将 Web API 用于连接到 CRM 的应用程序。对于插件和工作流程序集,您可以继续使用 SDK 程序集。在即将发布的版本中,我们将修改这些程序集,以便它们使用 Web API 而不是 2011 端点。
我认为语言很模棱两可。微软表示将使用 SDK 程序集,但也指出它们只应用于插件和工作流
MS 的另一个链接指出应该使用 CRM WebAPI:
https://docs.microsoft.com/en-au/dynamics365/customer-engagement/developer/choose-development-style