I need to insert bulk data into a SQL Server database.
The data is fetched in SqlParameter.
foreach (DataColumn c in data.Columns)
{
    SqlDbType dbType = GetSqlDbTypeFromDotnetType(c.DataType);
    var columnDataObject = data.AsEnumerable().Select(r => r.Field<object>(c.ColumnName));
    object[] paramDataArray = (UploadEverythingInSingleBatch)
             ? columnDataObject.ToArray()
             : columnDataObject.Skip(skipOffset).Take(batchSize).ToArray();
    SqlParameter param = new SqlParameter();
    param.SqlDbType = dbType;
    param.Value = paramDataArray;
    parameters.Add(param);
}
SqlCommand cmd = _connection.CreateCommand();
cmd.CommandText = commandText;
//parameters data replaced
parameters.ForEach(p => cmd.Parameters.Add(p));
int result = cmd.ExecuteNonQuery();
// on execution nonquery 
// {"Failed to convert parameter value from a Object[] to a Decimal."}
 
    