2011-07-27 11 views
0

私は、Subsonicを使用して保存されたproc呼び出し後にデータセットを模擬するコードサンプルを探しています。ストアドプロシージャから出てくるサブソニックデータセットを模擬する方法は?

私の方法です。

public List<DistributionDetail> GetDistributionsForInvoice(string invoiceId) 
    { 
     List<DistributionDetail> result = new List<DistributionDetail>(); 
     StoredProcedure sp = new StoredProcedure("GetDistributions", this.dataProvider); 
     sp.Command.AddParameter("InvoiceID", invoiceId, DbType.String, ParameterDirection.Input); 

     DataTable dt = sp.ExecuteDataSet().Tables[0]; 
     foreach (DataRow dr in dt.Rows) 
     { 
      DistributionDetail d = new DistributionDetail(); 
      DateTime date   = Convert.ToDateTime(dr[2].ToString()); 
      d.DistributionId  = dr[0].ToString(); 
      d.DistributionAmount = Convert.ToDouble(dr[1].ToString()); 
      d.DepositDate   = date.ToString(ApplicationConstants.DateFormat); 
      d.LockboxNumber   = dr[3].ToString(); 
      d.BatchNumber   = dr[4].ToString(); 
      d.TransactionNumber  = dr[5].ToString(); 

      result.Add(d); 
     } 
     return result; 
    } 
+0

「模擬データセット」とはどういう意味ですか? –

答えて

0

サブソニック2.2では、ExecuteTypedListを呼び出すことができます。ストアドプロシージャの結果セットから

public List<DistributionDetail> GetDistributionsForInvoice(string invoiceId) 
{ 
    List<DistributionDetail> result = new List<DistributionDetail>(); 
    StoredProcedure sp = new StoredProcedure("GetDistributions", this.dataProvider); 
    sp.Command.AddParameter("InvoiceID", invoiceId, DbType.String, ParameterDirection.Input); 

    return sp.ExecuteTypedList<DistributionDetail>(); 
} 

カラム名はDistributionDetailのプロパティ名と一致しなければなりません。

関連する問題