2

レポートエンジンを作成しています。より一般的なものにしようとする私の課題の 1 つは、クエリでユーザーに柔軟性を与える方法を見つけようとすることです。つまり、私が提供する固定セットを使用するのではなく、後で使用するために独自のクエリを生成することです。

たとえば、N Line オブジェクトを持つ N Section オブジェクトを持つ Document オブジェクトがあるとします。

より静的な目標を持つコードでは、Documents のリストとラムダ式の where 句を使用して、テキストを含む値を持つ Line を持つ Section がある Documents のリストを簡単に取得できます。

ただし、多くの (ほぼ無限の) 可能な式があるため、人々をサブセットに制限したり、可能なすべてのパスをパラメーター化された方法としてエンコードしたりすることは、実際には実行可能ではありません。

問題は、1) 文字列データからラムダ式を構築する方法 (つまり、柔軟に式に変換できるデータをサーバーに効果的に POST する方法) と 2) 後で使用するためにその式を保存する方法です。 DBで?

その文字列情報をDBに保存して同じプロセスを実行できるデータをPOSTするときに式を構築できれば、おそらく#1だけが本当に関連しますが、現在#1を達成する方法がわかりません

助言がありますか?これは理論的には実行可能なことだと思いますが、基本的なアプローチが明らかに欠けています。

4

1 に答える 1

1

これが役立つかどうかはわかりませんが、いくつかの提案があります。

  1. Predicate Builder の使用を検討してください。そのアプローチの詳細については、こちらをご覧ください。

  2. 動的 linq を使用できる可能性があり、通常の文字列と同様に、後で使用するためにクエリを DB に保存できます。私はこのアプローチの経験はありませんが、興味があればここで読むことができます。

エンジン頑張ってね、面白そうですね!

于 2012-04-29T23:44:45.823 に答える