Morning Girl

Web API, Windows, C#, .NET, Dynamics 365/CRM etc..

【Dynamics CRM】【Web API】LogicalCollectionNameの取得

クエリに使用するエンティティのLogicalNameは複数形の名前【LogicalCollectionName】になります。

カスタマイズエンティティであれば、自動的にnew_***sみたいになるみたいですが、デフォルトのエンティティの場合は、ちゃんとした複数形のものもあるので注意が必要です。

ちなみに通常のLogicalNameから、LogicalCollectionNameを取得する場合は、エンティティメタデータを取得可能な【EntityDefinitions】を利用して、以下の様なリクエストを実施します。

https://msdn.microsoft.com/en-us/library/mt607522.aspx

【Request】

https://***.api.crm7.dynamics.com/api/data/v8.0/EntityDefinitions?$select=LogicalName,LogicalCollectionName&$filter=LogicalName eq 'account'

【Response】

{
    "@odata.context": "https://***.api.crm7.dynamics.com/api/data/v8.0/$metadata#EntityDefinitions(LogicalName,LogicalCollectionName)/$entity",
    "LogicalName": "account",
    "LogicalCollectionName": "accounts",
    "MetadataId": "70816501-edb9-4740-a16c-6a5efbc05d84"
}

エンティティ名なんて、直接指定するよ! という方は、以下のReferenceから確認もできます。

Web API EntityType Reference

https://msdn.microsoft.com/en-us/library/mt608066.aspx