投稿者 魔界の仮面弁士  (社会人) 投稿日時 2022/6/9 15:12:26
> 集計時に用いるクエリの条件部分(Whereなど)

WHERE に関しては、パラメーターの組み方次第で固定化できるケースはありますね。
たとえばこんな感じで。

 WHERE (@p1 IS NULL OR T1.COL1 = @p1)
   AND (@p2 IS NULL OR T1.COL2 = @p2)


文字列として SQL 内に直接埋め込むとサニタイジングが必要になってくるので、
基本的にはパラメータークエリーとしています。その方が SQL 最適化もかかりやすいですし。


> みなさんはどのように運用されていますか?
動的に SQL を作成する場合は、Dapper.NET を併用することが多いです。
階層構造のデータなども効率よくオブジェクト化できるので、 
N 層アーキテクチャのアプリでは結構便利です。
(VB の構文だと記述が冗長的になってしまうので、データ層は C# で書くことが多いです)

まぁ、実行結果を DataSet に受け取るようなケースでは、
Dapper を使わずに素の ADO.NET だけで十分だったりはしますが。