ASP.NET/SQL Server 2005 アプリケーションに「高度な検索」機能を追加したいと考えています。理想的には、テーブル駆動にしたいと思います。たとえば、検索したいテーブルに新しい列が追加されてスキーマが変更された場合、新しい列が検索可能なフィールドとして追加されたことを UI に反映させたいと考えています。検索可能なフィールド、そのタイプ、関連するルックアップなどを含むいくつかのコントロール テーブルを想像できます。
これらのテーブルは、UI を構築するときに参照できます。私の質問は、動的 SQL を作成するための最良のアプローチにあります。1 つの方法は、パラメーター化された SQL ステートメントを自分で作成することです。しかし、私は Linq に興味をそそられており、どういうわけか、System.Linq.Dynamic 名前空間 (およびLinq 式ツリー) がより洗練された堅牢なソリューションを提供するのではないかと思います。
うまくいけば、そのようなソリューションは、Linq to Sql または Linq to Entities のいずれかで機能します。このパスを調査するのは正しいでしょうか、それともこの問題空間は実際には式ツリーのユース ケースの 1 つではありませんか?