2017-11-15 7 views
1

複数の文字列のいずれかがコレクションに含まれている場合、空白の検索edm.collectionをフィルタリングして結果を返そうとしています。私は1つの項目を照会するときにしか動作させることができません。これは、私のユースケースでは十分ではありません。複数のパラメータを照会する構文が見つかりません。会社のタイプはビッグですクエリ/フィルタAzure複数の文字列のいずれかでEdm.Collectionを検索

filter += "FirmTypes/any (x: x eq 'Big 4')"; 

上記の作品とリターンのすべてのドキュメントは、4

私は成功しません(下の一部)が複数のパラメータをフィルタリングする複数の方法を試してみた

//filter += " OR any (x: x eq 'Industry')"; 
//filter += "FirmTypes/any (x: x eq 'Industry')"; 
//filter += "FirmTypes/any (x: x eq 'Big 4', 'Industry', 'PLC')" 
//filter += "FirmTypes/any (x: x eq 'Big 4' or 'Industry' or 'PLC')" 
//filter += "FirmTypes/any (x: x eq 'Big 4') or (x: x eq 'Industry')" 
//filter += "FirmTypes/any (x: x eq 'Big 4')|(x: x eq 'Industry')" 

誰かが親切に私を正しい方向に向けることができますか?前もって感謝します。

答えて

2

複数の値を超えるフィルタリングするための最良の方法は、新しいsearch.in機能を使用することですorおよびeqであり、フィルタの複雑さに厳しい制限を課すことなく、より多くの値を処理できます。

+0

偉大な、ありがとう。私はmsdnのsearch.inの構文を読んでいたが、それは私のバージョンが動作していないので、任意の式内で使用されて感謝しませんでした。答えに時間を割いていただきありがとうございます。 –

0

投稿するとすぐに手に入りました。 search.inは組み合わせを使用するよりもはるかに高速で、値の大きな番号について

FirmTypes/any(x: search.in(x, 'Big 4|Industry', '|')) 

:誰が他の同じ問題を持っている場合

"FirmTypes/any (x: x eq 'Big 4') or FirmTypes/any (x: x eq 'Industry')" 
関連する問題