过去,我总是使用班级SqlBulkCopy
来完成批量插入。但我不知道如何使用Linq to SQL实现它。如果逐个插入,效率将非常低
有什么好主意吗?
提前致谢,抱歉我的英语不好。
答案 0 :(得分:3)
简单:你没有。您只需使用SqlBulkCopy
即可。 LINQ-to-SQL只是一个工具。 SqlBulkCopy
是一种工具。为每项工作使用正确的工具。有时这意味着使用不是 LINQ-to-SQL的东西。这可能意味着创建DataTable
(或欺骗IDataReader
,如果您有野心)来表示数据;或许可以Convert generic List/Enumerable to DataTable?查看从您输入的对象到DataTable
,您可以将其输入SqlBulkCopy
。
答案 1 :(得分:0)
请参阅SubmitChanges()上的这篇文章。
在显式调用DataContext上的SubmitChanges之前,您的更改不会传输到服务器。