SqlDataAdapter のバッチ挿入/更新を試しています。UpdateBatchSize = 1 に設定すると機能しますが、2 に設定すると、「指定されたパラメーター名 'Id' は無効です。」という例外が発生します。
using (var sqlDataAdapter = new SqlDataAdapter
{
UpdateBatchSize = 2
})
using (var connection = new SqlConnection("Data Source=server;Initial Catalog=DB;Integrated Security=True"))
using (var command = new SqlCommand("INSERT INTO Test (Id) VALUES (@Id)", connection)
{
UpdatedRowSource = UpdateRowSource.None
})
{
command.Parameters.Add("Id", SqlDbType.Int).SourceColumn = "Id";
sqlDataAdapter.InsertCommand = command;
var table = new DataTable("Test");
table.Columns.Add("Id");
table.Rows.Add(1);
table.Rows.Add(2);
sqlDataAdapter.Update(table);
}