Linq To SQL,在INSERT之后不要选择SCOPE_IDENTITY()

时间:2011-06-16 22:41:01

标签: linq-to-sql

这是对问题Stop LINQ to SQL from executing select statements after insert的跟进,其中某些问题仍未得到答复。

我在表中插入10,000行,主键由SQL Server自动生成。插入行后,我不需要对它们进行后处理,程序就会关闭。

查看LINQ to SQL日志,对于每个INSERT,都会生成SCOPE_IDENDITY()的连续SELECT语句。我觉得这会减慢我的程序,我想摆脱它。

如何在没有立即SELECT的情况下插入?

1 个答案:

答案 0 :(得分:2)

如果您担心表现,我担心您必须完全改变您的方法。

Linq to Sql不适合使用bulkinserts - 因为你已经注意到它会逐个插入它们。

由于您没有对它们进行后期处理,因此最好使用SqlBulkCopy之类的东西。这是更快的速度。