0

ADO.NETデータサービスを使用しており、URLベースのフィルターを構築しています。例:/ Customers?filter = City eq'London'

次に、フルテキストの「タグ」フィールドでフィルタリングする必要があります。希望していた:/ Customers?filter='Friendly'のようなタグ

問題:ADO.NETにLIKE演算子がありません。ADO.NETはFTSを好まないようです(一致するものが見つかりません-CSVを解析していないため)

これを機能させる方法はありますか?THX

4

2 に答える 2

1

ADO.NET Data Services は、「LIKE」の種類の演算子をサポートしています。

次のようなクエリ:

http://localhost/EntitiesService.svc/CalEvents?$filter=indexof(Subject,'fO') ge 0

http://localhost/EntitiesService.svc/CalEvents?$filter=substringof('fox',Subject) eq true

または LINQ バージョン:

 var result  = _context.CalEvents.Where(ce => ce.Subject.Contains(searchTerm))

おそらくあなたが探していることをしてください。「LIKE」演算子を使用して SQL クエリを生成し、検索語に「%」を追加します。したがって、それらは「LIKE」演算子のように機能します。

たとえば、「Contains」演算子を使用した FTS はサポートされていません。確認する時間はありませんが、少し前に見たと思います。

詳細: http://www.odata.org/developers/protocols/uri-conventions

于 2011-04-13T04:59:56.963 に答える
0

ADO.NET Data Services自体を使用したことはありませんが、全文検索を使用すると、CONTAINS演算子の方がはるかに強力であることがわかりました。アドホックSQL文字列であろうと、ストアドプロシージャであろうと。

于 2010-01-22T14:10:24.090 に答える