Поиск запроса Odata по коллекции строк, где строка соответствует одному или нескольким шаблонам значений - PullRequest
0 голосов
/ 02 июля 2019

У меня есть данные в следующем формате

"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 
...