Dapperの軽量ORMフレームワークを使用してASP。ネットコア
多くのことを読んで、それをメモしておくために
Dapperのは、ORMのマイクロ.NETであるか、またはEntity FrameworkのNhibnateの異なる、軽量であり、そして半自動です。
そのエンティティクラスは、自分の書き込みを持っています。これは、コンフィギュレーションファイル、その上に1つのファイルを複雑ではありません。公式のアドレスを与えます。
http://code.google.com/p/dapper-dot-net/
個人的に私は、彼は非常に使いやすいと思い、今元SqlHelperを交換しました。利点:
- 使用Dapperができ、オブジェクトが自動的にマッピングすること!
- 軽量、単一ファイル。
- これは、複数のデータベースをサポートしています。
- たIDataReaderエミット(データリーダー)配列キューによって反射Dapperの原理、かつ迅速に生成されたオブジェクトを取得します。
- 以来DapperのORM操作のIDbConnectionが実際にクラスを拡張したもので、すべてのメソッドは、クラスのメソッドを拡張したものです。したがって、従来は、のIDbConnectionをインスタンス化オブジェクトを使用します
IDbConnectionでCONN = 新しい SqlConnectionオブジェクト(CONNSTRING)。
ブックブック= 新しいブック(); book.Name = 「本質上のC#」。 クエリ文字列=「INSERT INTOブック(名)VALUES(@name )」; //操作の第一の目的は、 オブジェクトを操作 CONN。実行(クエリ、書籍); //は、彼が自動的にオブジェクトであるので、それですマッピング機能は、その後、我々は、オブジェクトタイプを追加します // 2番目は名前の両方で動作直接割り当てを 。コネチカット実行(クエリ、新しい新しい{名前=「C#のエッセンス」})。
更新
クエリ=文字列「ブックのSET UPDATE言及ID前述のIDの上= WHERE @名= @名」;
conn.Execute(クエリ、書籍は); //これはオブジェクトを操作することである
。//フィールドでも動作させることができ
conn.Excute(クエリ、新しいです{NAME = 'zxxx'、ID = '45「})
削除
クエリ文字列=「DELETE FROM帳のid = @id 」; コネティカット実行(クエリ、書籍); / /このオブジェクトの上に本を渡された、本はオブジェクトIDが含まれているので、このオブジェクトIDをマッピングするために行きますこれにより、削除
CONN。実行(クエリ、新しい{ID = ID})。
質問
クエリ文字列=「SELECT * FROM ブック」; // 何のパラメータクエリは、法律の前に同じパラメータとクエリパラメータの割り当てとのリストを返しません。 conn.Query <ブック> (クエリー).ToList(); // 単一のメッセージを返します 文字列のクエリ= " SELECT * FROM帳のid = @id "; 本= conn.Query <ブック>(クエリ、新しい{ID = ID})SingleOrDefault()。