#filter #odata
Вопрос:
У нас есть конечная точка, где полезная нагрузка выглядит следующим образом:
{
"@odata.context": "http://localhost/AbcWebApi/v1.0/-/ABC/AP/$metadata#APDistributionSets/$entity",
"DistributionSetKey": "CC",
"Description": "Credit cards",
"Status": "Active",
"InactiveDate": null,
"DateLastMaintained": "2010-08-18T00:00:00Z",
"CodeType": "Purchase",
"DistributionMethod": "Manual",
"DistributionsEntered": 3,
"Currency": "CAD",
"DistributionSetDetails": [
{
"DistributionSet": "CC",
"LineNumber": 1,
"DistributionCode": "VISA",
"Description": "VISA card",
"GLAccount": "1022",
"Discountable": "Yes",
"Percentage": 0,
"Amount": 0,
"UpdateOperation": "Unspecified"
},
{
"DistributionSet": "CC",
"LineNumber": 2,
"DistributionCode": "MASTER",
"Description": "Mastercard",
"GLAccount": "1023",
"Discountable": "Yes",
"Percentage": 0,
"Amount": 0,
"UpdateOperation": "Unspecified"
},
{
"DistributionSet": "CC",
"LineNumber": 3,
"DistributionCode": "AMEX",
"Description": "American Express",
"GLAccount": "1021",
"Discountable": "Yes",
"Percentage": 0,
"Amount": 0,
"UpdateOperation": "Unspecified"
}
],
"UpdateOperation": "Unspecified"
}
В принципе, существует ключ дистрибутива под названием CC. А в разделе CC есть различные дочерние элементы, такие как VISA, AMEX, MC и т. Д. Могу ли я отфильтровать по VISA, которая является кодом распространения?
Вот что я попробовал: http://localhost/AbcWebApi/v1.0/-/ABC/AP/APDistributionSets?$фильтр=(детали дистрибутива/код дистрибутива eq ‘VISA’)
И это ошибка, которую я получаю: «Родительское значение для доступа к свойству свойства «Код распределения» не является единственным значением. Доступ к свойствам может быть применен только к одному значению».
Есть какие-нибудь советы? Спасибо.
Комментарии:
1. Какую версию OData вы используете? Это служба, которую вы запускаете, или служба, к которой вы делаете запросы?
2. Я использую OData 4.0. Это услуга, к которой я обращаюсь с запросами. Спасибо.