式ツリーを使用して動的クエリを作成することを読みました。私の混乱は、単純な文字列でも同じことが達成できるということです。たとえば、テーブルから商品を取得するサンプル クエリを次に示します。
string productName = Console.Read();
var result = from products in context.Products
where product.Name.Equals(productName)
select product;
代わりに、プレーンな ADO.Net SQL プロバイダーを使用する場合でも、次のように動的クエリを作成できます。
string productName = Console.Read();
string query= "Select * from tableName where productname=" + productName;
では、式ツリーを使用する利点は何でしょうか? 同様に、式ツリーを使用して動的コードを作成する場合、単純にコード全体を文字列として格納し、実行時に評価するためのカスタム解析ロジックを作成できないでしょうか?
実際、この問題は式ツリーに固有のものではなく、一般的なツリーです。