Dapperの公式翻訳チュートリアル1:何Dapperのこと?
Dapperのは何ですか?
Dapperの.NETは、高速マイクロタイトルORMの王と、単純なオブジェクトマッパーであり、ほぼ同じ速原ADO.NETデータリーダの速度など。ORMは、データベースやプログラミング言語との間のマッピングを担当してオブジェクトリレーショナルマッパー、です。IDbConnectionを拡張するためのデータベースを照会するための便利な拡張メソッドを提供することによりDapperの。
Dapperの使い方?
Dapperのわずか3つの手順を実行します。
1.オブジェクトを作成しますIDbConnecton
2.文の豆腐を書きます
3.文は、パラメータとしてExecuteメソッドに渡されます。
Dapperのインストール:
NuGetのコマンドを使用します。Dapperのためのインストール・パッケージ変更を
データベース要件:
限り、それはデータベースプロバイダのデータベースを提供して、あなたはDapperのを使用することができます。
Dapperの拡張メソッド:
-
文字列sqlOrderDetailsは= "たOrderDetails * FROM TOP 5を選択します。";
-
文字列sqlOrderDetailは= "OrderDetailID = @OrderDetailIDたOrderDetails SELECT * FROM;";
-
文字列sqlCustomerInsert = "顧客(顧客名)値(@CustomerName)。INSERT INTO;";
-
-
使用して(VAR接続= 新しいは、SqlCeConnection("データソース= SqlCe_W3Schools.sdf"))
-
{
-
VARたOrderDetails = connection.Query <OrderDetail>(sqlOrderDetails).ToList();
-
VAR orderDetail = connection.QueryFirstOrDefault <OrderDetail>(sqlOrderDetail、新しい{OrderDetailID = 1})。
-
VAR affectedRows = connection.Execute(sqlCustomerInsert、新しい{CustomerNameの= "マーク"})。
-
-
Console.WriteLineを(orderDetails.Count)。
-
Console.WriteLineを(affectedRows)。
-
-
FiddleHelper.WriteTable(たOrderDetails)。
-
FiddleHelper.WriteTable( 新しいリスト<OrderDetail>(){orderDetail})。
-
}
Dapperのパラメータ:
-
//匿名
-
VAR affectedRows = connection.Execute(SQL、
-
新しい{種類= InvoiceKind.WebInvoice、コード= "Single_Insert_1"}、
-
CommandTypeを:CommandType.StoredProcedure)。
-
-
//ダイナミック
-
DynamicParametersパラメータ= 新しいDynamicParameters();
-
-
parameter.Add( "@Kind"、InvoiceKind.WebInvoice、DbType.Int32、ParameterDirection.Input)。
-
parameter.Add( "@code"、"Many_Insert_0"、DbType.String、ParameterDirection.Input)。
-
parameter.Add( "@RowCount"のdbType:DbType.Int32、方向:ParameterDirection.ReturnValue)。
-
-
connection.Execute(SQL、
-
パラメータ、
-
CommandTypeを:CommandType.StoredProcedure)。
-
-
int型をrowCount = parameter.Get < 整数>("@RowCount");
-
-
//リスト
-
connection.Query <書>(SQL、 新しい{種類= 新しい[] {InvoiceKind.StoreInvoice、InvoiceKind.WebInvoice}})ToListメソッド()。
-
//文字列
-
connection.Query <書>(SQL、 新しい{コード= 新しいDBSTRING {値= "Invoice_1"、IsFixedLength = 偽、長さ= 9、IsAnsi = 真}})ToListメソッド()。
Dapperの実行結果
-
文字列sqlOrderDetailsは= "SELECT * FROMたOrderDetails 10 TOP;";
-
-
使用して(VAR接続= 新しいは、SqlCeConnection("データソース= SqlCe_W3Schools.sdf"))
-
{
-
VAR anonymousList = connection.Query(sqlOrderDetails).ToList();
-
VARたOrderDetails = connection.Query <OrderDetail>(sqlOrderDetails).ToList();
-
-
Console.WriteLineを(anonymousList.Count)。
-
Console.WriteLineを(orderDetails.Count)。
-
-
FiddleHelper.WriteTable(たOrderDetails)。
-
-
FiddleHelper.WriteTable(connection.Query(sqlOrderDetails).FirstOrDefault())。
-
}
Dapperの他の補助
-
//非同期
-
connection.QueryAsync <請求書>(SQL)
-
-
//バッファ
-
connection.Query <請求書>(SQL、バッファリング: 偽)
-
-
//トランザクション
-
使用して(VAR取引= connection.BeginTransaction())
-
{
-
VAR affectedRows = connection.Execute(SQL、
-
新しい{種類= InvoiceKind.WebInvoice、コード= "Single_Insert_1"}、
-
CommandTypeを:CommandType.StoredProcedure、
-
トランザクション:トランザクション)。
-
-
transaction.Commit();
-
}
-
-
//ストアドプロシージャ
-
VAR affectedRows = connection.Execute(SQL、
-
新しい{種類= InvoiceKind.WebInvoice、コード= "Single_Insert_1"}、
-
CommandTypeを:CommandType.StoredProcedure)。