Dapperの公式翻訳チュートリアル9:パラメータの型のDapperの方法
1.匿名のパラメータ(共通)
単一のクエリ:
-
文字列のSQL = "顧客(顧客名)値(@CustomerName)。INSERT INTO;";
-
-
使用して(VAR接続= 新しいは、SqlCeConnection("データソース= SqlCe_W3Schools.sdf"))
-
{
-
VAR affectedRows = connection.Execute(SQL、新しい{CustomerNameの= "マーク"})。
-
-
Console.WriteLineを(affectedRows)。
-
-
//のみ挿入を参照してください。
-
VaRの顧客= connection.Query <顧客>("CustomerNameの= 'マーク'得意先SELECT * FROM")ToListメソッド()。
-
-
FiddleHelper.WriteTable(顧客)。
-
}
バッチクエリ:
-
文字列のSQL = "顧客(顧客名)値(@CustomerName)。INSERT INTO;";
-
-
使用して(VAR接続= 新しいは、SqlCeConnection("データソース= SqlCe_W3Schools.sdf"))
-
{
-
VAR affectedRows = connection.Execute(SQL、
-
新しい[]
-
{
-
新しい{CustomerNameの= "ジョン"}、
-
新しい{CustomerNameの= "アンディ"}、
-
新しい{CustomerNameの= "アラン"}
-
}
-
-
Console.WriteLineを(affectedRows)。
-
)
(多くの場合、店舗手順に使用)2.動的パラメータ
単一の操作:
-
VaRのSQL = "EXEC Invoice_Insert"。
-
-
使用(VAR接続= My.ConnectionFactory())
-
{
-
connection.Open();
-
-
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");
-
}
一括操作:
-
VaRのSQL = "EXEC Invoice_Insert"。
-
-
VARパラメータ= 新しいリスト<DynamicParameters>();
-
-
ため(VAR iが= 0; iが< 3; iは++します)
-
{
-
VARのp = 新しいDynamicParameters();
-
p.Add( "@Kind"、InvoiceKind.WebInvoice、DbType.Int32、ParameterDirection.Input)。
-
p.Add( "@code"、"Many_Insert_" +(I + 1)、DbType.String、ParameterDirection.Input)。
-
p.Add( "@RowCount"のdbType:DbType.Int32、方向:ParameterDirection.ReturnValue)。
-
-
parameters.Add(P)。
-
}
-
-
使用(VAR接続= My.ConnectionFactory())
-
{
-
connection.Open();
-
-
connection.Execute(SQL、
-
パラメーター、
-
CommandTypeを:CommandType.StoredProcedure
-
);
-
-
VARをrowCount = parameters.Sum(X => x.Get < 整数>("@RowCount"));
-
}
3.パラメータのリスト
-
VaRのSQLが= "現物は@Kind請求書SELECT * FROM;";
-
-
使用(VAR接続= My.ConnectionFactory())
-
{
-
connection.Open();
-
-
VARインボイス= connection.Query <書>(SQL、新しい{種類= 新しい[] {InvoiceKind.StoreInvoice、InvoiceKind.WebInvoice}})ToListメソッド()。
-
}
4.文字列パラメータ
-
VaRのSQLが= "請求書コード= @code SELECT * FROM;";
-
-
使用(VAR接続= My.ConnectionFactory())
-
{
-
connection.Open();
-
-
VARインボイス= connection.Query <書>(SQL、新しい{コード= 新しいDBSTRING {値= "Invoice_1"、IsFixedLength = 偽、長さ= 9、IsAnsi = 真}})ToListメソッド()。
-
-
My.Result.Show(請求書)。
-
}