繁体   English   中英

使用SqlBulkCopy将数组插入表中

[英]Insert array into the table using SqlBulkCopy

我有一个只有两列Id和Name的表。 其中ID是自动递增的主键。 我的数组可能包含数百个项目,因此我不想使用任何循环。 我的代码如下所示:

DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("Name", typeof(string)));
foreach (string item in arrItems)
    dt.Rows.Add(item);

using (SqlBulkCopy bc = new SqlBulkCopy(connection, DB2BulkCopyOptions.KeepIdentity))
{   
    bc.DestinationTableName = destinationTableName;
    bc.ColumnMappings.Add("Name", "Name");
    bc.WriteToServer(dt);
}

我以这种方式编写了代码。 有什么方法可以从数组中插入数据(无需创建表)?

您可以创建一个包装Array并实现IDataReader的类。 该类的实例可以传递到SqlBulkCopy的WriteToServer方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM