TL;DR .NET用の2-way SQLライブラリを作ってみた系の記事だよ。 対象読者 .NETでもOuteside/2-way SQLしたい人 ビルドタイムコード生成の手法に興味のある人 動機(立派な建前) まず、データベースに対するクエリの構築にどんな手法を用いるかについて考えてみます。 データベースの機能/性能を最大限に生かすためには、オブジェクトのトラッキング機能等は不要 RDBへのAPIが文字列(SQL)ベースな以上、文字列構築の表現力の確保がポイント LINQ的なType safeなビルダーには表現力の限界がある StringBuilder等を使った文字列操作だとSQLの検証がしにくい SQLが外部化されれば検証は行いやすい っというわけで、.NET以外の世界ではOuteside/2-way SQLなライブラリがよく使用されていたりもすると思います。 .NETの世界でも、自分