Dapperの公式翻訳チュートリアル9:(ターン)のパラメータタイプDapperの方法

Dapperの公式翻訳チュートリアル9:パラメータの型のDapperの方法

1.匿名のパラメータ(共通)

 

単一のクエリ:

  1.  
    文字列のSQL = "顧客(顧客名)値(@CustomerName)。INSERT INTO;";
  2.  
     
  3.  
    使用して(VAR接続= 新しいは、SqlCeConnection("データソース= SqlCe_W3Schools.sdf"))
  4.  
    {
  5.  
    VAR affectedRows = connection.Execute(SQL、新しい{CustomerNameの= "マーク"})。
  6.  
     
  7.  
    Console.WriteLineを(affectedRows)。
  8.  
     
  9.  
    //のみ挿入を参照してください。
  10.  
    VaRの顧客= connection.Query <顧客>("CustomerNameの= 'マーク'得意先SELECT * FROM")ToListメソッド()。
  11.  
     
  12.  
    FiddleHelper.WriteTable(顧客)。
  13.  
    }

バッチクエリ:

 

  1.  
    文字列のSQL = "顧客(顧客名)値(@CustomerName)。INSERT INTO;";
  2.  
     
  3.  
    使用して(VAR接続= 新しいは、SqlCeConnection("データソース= SqlCe_W3Schools.sdf"))
  4.  
    {
  5.  
    VAR affectedRows = connection.Execute(SQL、
  6.  
    新しい[]
  7.  
    {
  8.  
    新しい{CustomerNameの= "ジョン"}、
  9.  
    新しい{CustomerNameの= "アンディ"}、
  10.  
    新しい{CustomerNameの= "アラン"}
  11.  
    }
  12.  
     
  13.  
    Console.WriteLineを(affectedRows)。
  14.  

 

(多くの場合、店舗手順に使用)2.動的パラメータ

 

単一の操作:

  1.  
    VaRのSQL = "EXEC Invoice_Insert"。
  2.  
     
  3.  
    使用(VAR接続= My.ConnectionFactory())
  4.  
    {
  5.  
    connection.Open();
  6.  
     
  7.  
    DynamicParametersパラメータ= 新しいDynamicParameters();
  8.  
     
  9.  
    parameter.Add( "@Kind"、InvoiceKind.WebInvoice、DbType.Int32、ParameterDirection.Input)。
  10.  
    parameter.Add( "@code"、"Many_Insert_0"、DbType.String、ParameterDirection.Input)。
  11.  
    parameter.Add( "@RowCount"のdbType:DbType.Int32、方向:ParameterDirection.ReturnValue)。
  12.  
     
  13.  
    connection.Execute(SQL、
  14.  
    パラメータ、
  15.  
    CommandTypeを:CommandType.StoredProcedure)。
  16.  
     
  17.  
    int型をrowCount = parameter.Get < 整数>("@RowCount");
  18.  
    }

一括操作:

 

  1.  
    VaRのSQL = "EXEC Invoice_Insert"。
  2.  
     
  3.  
    VARパラメータ= 新しいリスト<DynamicParameters>();
  4.  
     
  5.  
    ため(VAR iが= 0; iが< 3; iは++します)
  6.  
    {
  7.  
    VARのp = 新しいDynamicParameters();
  8.  
    p.Add( "@Kind"、InvoiceKind.WebInvoice、DbType.Int32、ParameterDirection.Input)。
  9.  
    p.Add( "@code"、"Many_Insert_" +(I + 1)、DbType.String、ParameterDirection.Input)。
  10.  
    p.Add( "@RowCount"のdbType:DbType.Int32、方向:ParameterDirection.ReturnValue)。
  11.  
     
  12.  
    parameters.Add(P)。
  13.  
    }
  14.  
     
  15.  
    使用(VAR接続= My.ConnectionFactory())
  16.  
    {
  17.  
    connection.Open();
  18.  
     
  19.  
    connection.Execute(SQL、
  20.  
    パラメーター、
  21.  
    CommandTypeを:CommandType.StoredProcedure
  22.  
    );
  23.  
     
  24.  
    VARをrowCount = parameters.Sum(X => x.Get < 整数>("@RowCount"));
  25.  
    }

 

3.パラメータのリスト

 

  1.  
    VaRのSQLが= "現物は@Kind請求書SELECT * FROM;";
  2.  
     
  3.  
    使用(VAR接続= My.ConnectionFactory())
  4.  
    {
  5.  
    connection.Open();
  6.  
     
  7.  
    VARインボイス= connection.Query <書>(SQL、新しい{種類= 新しい[] {InvoiceKind.StoreInvoice、InvoiceKind.WebInvoice}})ToListメソッド()。
  8.  
    }

 

4.文字列パラメータ

 

  1.  
    VaRのSQLが= "請求書コード= @code SELECT * FROM;";
  2.  
     
  3.  
    使用(VAR接続= My.ConnectionFactory())
  4.  
    {
  5.  
    connection.Open();
  6.  
     
  7.  
    VARインボイス= connection.Query <書>(SQL、新しい{コード= 新しいDBSTRING {値= "Invoice_1"、IsFixedLength = 偽、長さ= 9、IsAnsi = 真}})ToListメソッド()。
  8.  
     
  9.  
    My.Result.Show(請求書)。
  10.  
    }

 

おすすめ

転載: www.cnblogs.com/LiZhongZhongY/p/10991672.html