The OData Service is returning null when I $select on an inner complex type.
For query: [tenant]/api/data/v9.0/EntityDefinitions(LogicalName='account')?$select=DisplayName
The response is:
{
"@odata.context": "fpx-dev02.api.crm.dynamics.com/.../v9.0$metadata#EntityDefinitions(DisplayName)/$entity",
"MetadataId": "70816501-edb9-4740-a16c-6a5efbc05d84",
"DisplayName": {
"LocalizedLabels": [
{
"Label": "Account",
"LanguageCode": 1033,
"IsManaged": true,
"MetadataId": "2a4901bf-2241-db11-898a-0007e9e17ebd",
"HasChanged": null
}
],
"UserLocalizedLabel": {
"Label": "Account",
"LanguageCode": 1033,
"IsManaged": true,
"MetadataId": "2a4901bf-2241-db11-898a-0007e9e17ebd",
"HasChanged": null
}
}
}
I want to filter this response to only include LocalizedLabels and not UserLocalizedLabel.
For Query:
[tenant]/api/data/v9.0/EntityDefinitions(LogicalName='account')?$select=DisplayName/Microsoft.Dynamics.CRM.Label/LocalizedLabels
{
"@odata.context": "fpx-dev02.api.crm.dynamics.com/.../v9.0$metadata#EntityDefinitions(DisplayName/Microsoft.Dynamics.CRM.Label/LocalizedLabels)/$entity",
"MetadataId": "70816501-edb9-4740-a16c-6a5efbc05d84",
"DisplayName": null
}
I was expecting DisplayName to be
DisplayName": {
"LocalizedLabels": [
{
"Label": "Account",
"LanguageCode": 1033,
"IsManaged": true,
"MetadataId": "2a4901bf-2241-db11-898a-0007e9e17ebd",
"HasChanged": null
}
]
}
Is this a bug in Dynamics, or is my $select wrong?
Thanks.