WebApi 2 で OData フィルターを使用しようとしています。
しかし、オープンタイプ(動的プロパティ)では機能していないようです。
受信エラー:
種類 CollectionOpenPropertyAccess の OData QueryNode の検証は、FilterQueryValidator ではサポートされていません。
サーバーは Id と Properties を含むオブジェクトの配列を返し、Properties には文字列の配列を含むプロパティがあります。この配列に対してフィルターを作成したいです。通常のデータで動作するため、リクエスト URL は問題ないと確信しています。問題はオープンタイプにあると思います..この質問は非常に似ていることがわかりました: https : //stackoverflow.com/questions/33427594/filter-by-datetime-with-odata-in-dictionary/33442032ですが、そうではありません答えがありますか?
使用: Odata v4 および WebApi2
サーバー結果の例:
{
"Id": 1,
"Context@odata.type": "#Collection(String)",
"Context": [
"Context1", "Context2"
]
}
http リクエストの例:
http://localhost/API/odata/GetItems(id=30045)?$count=true&$filter=Context%2Fany(c:+c+eq+%27Context1%27)&$format=json&$top=5