У меня есть данные в следующем формате
"value": [
{
"Id": 10274,
"Name": "[Resident]",
"EntityTypeId": 74,
"CustomAttributes": [
{
"Id": 1387,
"CustomAttributeTypeId": 1110,
"Value": "ACFI",
"EntityId": 10274
},
{
"Id": 1388,
"CustomAttributeTypeId": 1111,
"Value": "50%",
"EntityId": 10274
},
{
"Id": 1389,
"CustomAttributeTypeId": 1112,
"Value": "f6fe7a7e",
"EntityId": 10274
},
{
"Id": 1398,
"CustomAttributeTypeId": 1114,
"Value": "[\"f6fe7a7e\",\"b0bda2e4\"]",
"EntityId": 10274
}
],
"BIType": {
"Id": 74,
"Type": "ACTIVE_RELATIONSHIP",
"SubType": ""
}
}
Проблема, с которой я сталкиваюсь, заключается в том, что свойство Value
для CustomAttributes
имеет строковый формат, который в некоторых случаях содержит сериализованный массив JSON.,Я хотел бы выполнить этот запрос, который содержит «IN», чтобы позволить мне сопоставить шаблон строки в данном массиве.Интересно, есть ли такой оператор, как / substringof, или что-то, что я могу использовать с комбинацией «IN» для достижения этой цели?
Это запрос, который я пытаюсь использовать для достижения этой цели, но застрял.Я использую Microsoft.AspNet.OData version = "7.1.0" Заранее спасибо.
https://localhost:6523/api/OData/Entity/?
expand=CustomAttributes($select=id,customattributetypeId,value,entityid)
,Type($select=id,type,subtype)
&$filter=TypeId eq 74
and CustomAttributes/any(d: d/Value in
('ACFI','f6fe7a7e'))
and BIType/Id eq 74