有没有一种方法可以将行批量添加到DataTable中?

时间:2019-05-08 17:26:42

标签: c# linq datatable

我有很多数据需要插入到SQL表中,并且我想使用SqlBulkCopy。我有数百万行需要添加到DataTable中,并且似乎是瓶颈,因为我发现添加行的唯一方法是使用wordArray = [["a", "b", "c"],["d", "e", "f"]]; ,这是我编写的代码的示例到目前为止:

DataTable.Rows.Add(DataRow);

该代码可以非常迅速地打印出var table = new DataTable("MyTableName"); table.Columns.Add("Id"); table.Columns.Add("SomeOtherColumn"); IEnumerable<MyObject> myData; // this is a method parameter which has millions of values var rows = myData.Select(data => { return data.SomeInnerEnumerable.Select(e => { var row = table.NewRow(); row["Id"] = e.Id; row["SomeOtherColumn"] = e.SomeOtherColumn; return row; }); }).SelectMany(r => r); // flattens IEnumerable<IEnumerable<DataRow>> into IEnumerable<DataRow> Console.WriteLine("DataRows created"); foreach (var row in rows) { table.Rows.Add(row); } ,但是在循环上挂了25分钟以上。有没有更有效的方法将这么多行添加到DataTable中?

0 个答案:

没有答案
相关问题