「マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。 目次 †概要 †ココで使用したので調査した情報などを纏めました。 Dapperは、Micro-ORMである。
機能 †以下の機能を持つ。 クエリビルダ †
SQL実行 †パラメタライズド・クエリ †パラメタライズド・クエリ機能はアリ。
トランザクション †トランザクション処理に対応する。 以下のように処理すると良い。
未コミットのものはロールバックになるので、try-catchは不要。 using(var tr = cn.BeginTransaction()) { cn.Execute("・・・・", ・・・, tr); tr.Commit(); } その他 †
マッピング †結果セットとBean(POCO)をマッピングする機能。
実装 †主に、ADO.NET の IDBConnection に拡張メソッドを追加している。 拡張 †以下の様なCRUDヘルパーがある。 更新用の拡張ライブラリ †DapperExtensions? †
クエリビルダ †Dapper.Rainbow †詳細不明 Dapper.Contrib †詳細不明 自作の例 †以下を参考にすると、上記は微妙らしい。
ココの処理の内容を見ると、
でSQLを生成している。 余談:
ログ出力 †MiniProfiler?を使用してログ出力処理を実装できる。
その他 †クラスの階層構造 †以下のようにORMできるが、
BA(ビジネス・アプリケーション)ではほぼ、採用しない方式。
JSONへの変換 †DapperのQuery<dynamic>()の戻り値をJSONへ変換して、
Oracleでの利用 †
参考 †
使用例 †ADO.NET vs ORM (Entity Framework, Dapper) † |