gpt4 book ai didi

c# - 有没有办法使用linq to sql批量插入

转载 作者:太空狗 更新时间:2023-10-30 01:09:08 24 4
gpt4 key购买 nike

我想批量插入记录。例如,假设我有 10,000 条记录要插入。我想以 500 或 1,000 个为一批插入它们。我怎样才能动态地做到这一点?那就是……取前 500 或 1,000 个插入它们,取下一个并插入它们,依此类推。在我的示例中,10,000 的集合由一个通用列表组成,因此我想相应地插入或拆分此列表。

10,000 的计数不会是静态计数。可能更少或更多。只想批量插入 500 或 1,000 个。

最佳答案

使用 Linq-to-Sql 执行 INSERT 的效率不高,因为它始终将它们作为单独的 INSERT 语句运行,即使您成批发送也是如此。您可以尝试使用像这样的库或第三方代码来发送批处理:http://devio.wordpress.com/2011/08/05/batch-insert-using-linq-to-sql/ .

就拆分列表而言,您可以这样做:

var first = myList.Take(500);
var second = myList.Skip(500).Take(500);
var third = myList.Skip(1000).Take(500);
// etc.

显然,这可以通过增加跳过量而不是为每个部分创建一个单独的变量来在循环中完成 - 我只是展示这个想法。

您可能还会发现这些链接有帮助:

关于c# - 有没有办法使用linq to sql批量插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7689241/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com