テーブル値パラメータを使用できます:.net コードからテーブル値パラメータをストアド プロシージャに渡す方法
まず、SQL Server で型を作成します:
CREATE TYPE [dbo].[myTvpType] AS TABLE ([RecordID] int, [TagID] int)
プレ>データを挿入する C# コード:
internal void InsertData(SqlConnection connection, Dictionary
valuesToInsert){ using (DataTable myTvpTable =CreateDataTable(valuesToInsert)) using (SqlCommand cmd =connection.CreateCommand()) { cmd.CommandText ="INSERT INTO myTable SELECT RecordID, TagID FROM @myValues"; cmd.CommandType =CommandType.Text; SqlParameter パラメータ =cmd.Parameters.AddWithValue("@myValues", myTvpTable); parameter.SqlDbType =SqlDbType.Structured; cmd.ExecuteNonQuery(); }}private DataTable CreateDataTable(Dictionary valuesToInsert){ // DataTable を初期化します DataTable myTvpTable =new DataTable(); myTvpTable.Columns.Add("RecordID", typeof(int)); myTvpTable.Columns.Add("TagID", typeof(int)); // DataTable にデータを入力 foreach(key in valuesToInsert.Key) { DataRow row =myTvpTable.NewRow(); row["RecordID"] =valuesToInsert[キー];行["TagID"] =キー; }}コード> プレ>