投稿者 魔界の仮面弁士  (社会人) 投稿日時 2022/6/10 14:51:47
> というクエリ本体(?)部分はコード内に直に書いてあります。
長い処理は SQL を直接書くのではなく、データベース側のストアドにしておいて、
Dapper (というか ADO.NET) に渡すのはストアドの名前(とパラメーター)を渡すだけであり、
長い SQL 文がソースに含まれるわけではありません。

ストアドにしておくと、SSMS などからステップ実行できたりしますし、
ストアドの修正だけで済む場合は、EXE のリコンパイルが不要にもなります。

ただしストアドの数が増えすぎないように注意する必要はありますけれどね。
対 Oracle であれば、ストアド パッケージにまとめられるのですが…。


> で編集しておいて、それをコード内にコピペするんでしょうか?
ストアドを使わない場合、泥臭いですが自分はそのパターンですね。
型付 DataSet の TableAdapter で済ませることもあります。
(TableAdapter は、複雑なクエリーになると扱い辛いんですが)。

My.Resources に埋め込む手法を使ったこともあるのですが、
これだと複数人で開発する場合に管理しにくかった…。

外部ファイルから実行時に読み取る方法をとることもありましたが、
ファイル管理が分かりにくくなるので辞めてしまいました。