Open棟梁Project - マイクロソフト系技術情報 Wiki
目次 †
概要 †
Dapperは、Micro-ORMである。
- Micro-ORMは、RDBとはMappingないので、ORMではない。
- 言うなれば、DataMapper?とかTableMapper?と言った機能。
- 実際、Dapperは純粋な実行とMappingのみ提供するよう開発されている。
- パフォーマンスと使いやすさを念頭に置いて開発されている。
機能 †
以下の機能を持つ。
クエリビルダ †
無い。生SQLを実行する機能。
SQL実行 †
- パラメタライズド・クエリ機能はアリ。
- ADO.NETよりパラメタライズド処理が書き易い。
- IN句に含めるリストに値をバインドする機能
- ストアドプロシジャを実行可能。
- トランザクション処理に対応する。
マッピング †
結果セットとBeranのマッピングする機能。
- Queryメソッドでは、IEnumrable<Dynamic>型に格納される。
- Query<T>メソッドでは、T型のBeanにマッピングして、格納される。
- 列名に別名を付与する場合は、AS句を使用すれば良い。
- 大文字・小文字は関係なくマッピングする。
- 別途マッピングルールを型毎に設定することが可能。
- ADO.NET 型付DataSet? の場合よりマッピング処理が書き易い。
実装 †
主に、ADO.NET の IDBConnection に拡張メソッドを追加している。
拡張 †
以下の様なCRUDヘルパーがある。
更新用の拡張ライブラリ †
DapperExtensions? †
- SQLを書かずして更新処理を実装する。
- テーブルに対応したBeanが必要になる。
- デフォルトでは以下の条件に合致しているひつようがある。
- テーブルの主キーが1つ
- Idや****Idといった名称
クエリビルダ †
Dapper.Rainbow †
Dapper.Contrib †
JSON †
JSONへの変換は以下のように行なうことができる。
参考 †
Tags: :データアクセス, :.NET開発, :ADO.NET