l--*_*''' 4 c# dynamics-crm visual-studio dynamics-crm-2011 dynamics-crm-2016
在我们的解决方案中,我们动态构建 HTTP/ODATA 请求。
例如,我们将构建一个如下所示的 URL:
[http://org....api/v8.1/]accounts(00000000-0000-0000-0000-000000000001)/primarycontactid?$select=fullname
Run Code Online (Sandbox Code Playgroud)
我们如何动态获取所有实体(例如“帐户”)的列表?
2011年,我们只是简单地针对LeadSet/AccountSet/etcSet执行,2016年的策略是什么?
我不知道是否有一些“语言”技巧(显然集合的名称只是实体的英文复数名称,但这对我来说还不够好),所以我喜欢这样 - 只需调用 webAPI 元数据:
http://[crmurl]/api/data/v8.2/EntityDefinitions?$select=EntitySetName,LogicalName&$filter=LogicalName eq 'account'
Run Code Online (Sandbox Code Playgroud)
结果如下:
{
"@odata.context":"http://[crmurl]/api/data/v8.2/$metadata#EntityDefinitions(EntitySetName,LogicalName)","value":[
{
"EntitySetName":"accounts","LogicalName":"account","MetadataId":"70816501-edb9-4740-a16c-6a5efbc05d84"
}
]
}
Run Code Online (Sandbox Code Playgroud)
所以你明白了。当然,您可以简单地跳过这一$filter部分并简单地获取所有集合名称的列表并将它们缓存在某处。
| 归档时间: |
|
| 查看次数: |
3806 次 |
| 最近记录: |