2

検索文字列を LINQ クエリに変換する方法。

区切り文字は常に AND,OR,(,) です。検索文字列の入力が次のようになっているとします。

  1. abc AND xcv OR cvb OR pqr
  2. (abc AND pqr) OR zxc OR try
  3. pqr OR ter AND (asd OR tor)

これに基づいてLINQクエリを作成したいと思います。出力例 (ケース 3 の場合): 1. where value = "pqr" OR value="ter" AND (value="asd" OR value="tor")

文字列に対してこの種の分離をどのように達成できますか。

4

1 に答える 1

0

をご覧くださいSystem.Linq.Dynamic。欲しい機能がありそうです。

動的 LINQ (パート 1: LINQ 動的クエリ ライブラリの使用)

http://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using-the-linq-dynamic-query-library.aspx

それ以外の場合は、式を自分で解析して式ツリーを生成できます。

式ツリーを使用した動的 LINQ クエリ

https://www.simple-talk.com/dotnet/.net-framework/dynamic-linq-queries-with-expression-trees/

于 2013-08-09T02:44:29.920 に答える