8

OData SharePoint REST クエリを強化するために使用しています。展開されたエンティティのプロパティの 1 つを使用$expandしたいと考えています。$filterただし、これの正しい構文に関するドキュメントは見つかりません。エンティティ/プロパティの使用を提案する可能性のあるいくつかのスポットを見つけましたが、それを試した後、次のように失敗しました:

クエリ:

_vti_bin/listdata.svc/Posts?$expand=Category&$filter=substring(\"Featured Article\",Category/Title) eq false and year(Published) lt " +year+1+ " and month(Published) lt " +month+1+ " or day(Published) lt " +day+1+ " and ApprovalStatus eq '0'&$select=Title,Published,Category,ApprovalStatus&$orderby=Published desc"

どちらが返されますか:

syntax error '\"' at position 10.

カテゴリが高レベルであり、タイトル プロパティがサブレベルである場合、カテゴリ エンティティのタイトルに基づいてどのようにフィルター処理しますか?

4

2 に答える 2

2

問題はスラッシュでエスケープされた二重引用符であり、substring代わりに. を使用しているようですsubstringof

代わりに一重引用符を使用すると機能しますか? それとも、文字通り二重引用符文字に一致させたかったのでしょうか? (その場合は、一重引用符内で二重引用符をエスケープせずにそのままにしておくことができると思います)

_vti_bin/listdata.svc/Posts?$expand=Category&$filter=substringof('Featured Article',Category/Title) eq false

また

_vti_bin/listdata.svc/Posts?$expand=Category&$filter=substringof('"Featured Article"',Category/Title) eq false

公共サービスの例として、次のクエリを見てください。

http://services.odata.org/Northwind/Northwind.svc/Products?$filter=substringof('Bev', Category/CategoryName) eq true

OData クエリ構文のドキュメントについては、次のページを参照することをお勧めします: http://www.odata.org/documentation/odata-v3-documentation/url-conventions

フィルター セクションには、ガイダンスとして使用できるかなりの数の例があります。

于 2013-08-21T00:39:58.740 に答える