私はレポートエンジンを作成しています。より一般的なものにしようとする私の課題の1つは、クエリの柔軟性をユーザーに与える方法を見つけようとしていることです。私の提供する固定セットを使用するのではなく、後で半恣意的なラムダ式を使用するために、DBにどのように構築して保存することができますか?
たとえば、N行のオブジェクトを持つN個のセクションオブジェクトを持つDocumentオブジェクトがあるとします。
もっと静的な目標を持つコードでは、ドキュメントのリストとラムダ式でwhere句を使用するテキストを含む値を持つLineがあるセクションがあるドキュメントのリストを簡単に取得できます。
しかし、多くの(ほとんど無限の)表現が可能であるため、部分集合に限定するか、可能なすべてのパスをパラメータ化されたメソッドとしてエンコードする必要はありません。
文字列データからラムダ式を作成するにはどうすればよいですか(つまり、サーバーに効果的にPOSTすることで、柔軟に表現できるデータをPOSTする方法を意味します)、2) DBで後で使用するための式ですか?
POSTデータのときに式を構築して、その文字列情報をDBに格納して同じ処理を行うことができますが、現在は#1を達成する方法がわかりません。おそらく#1だけが本当に関係します。
提案がありますか?私はこれが理論上実行可能なものだと思っていますが、私は基本的なアプローチがはっきりしていません。
同じ質問ですが、Where節については:http://stackoverflow.com/questions/125400/generic-linq-query-predicate –