繁体   English   中英

我需要用精致的彩虹进行批量插入

[英]I needed to do Bulk insert with dapper rainbow

我正在使用dapper rainbow database.cs扩展,

private void insertList(IEnumerable<myObject> list)
    {
          using (SqlConnection conn = new SqlConnection(connectionString))
        {
            var db = myDB.Init(conn, commandTimeout: 100);
            db.myTable.tableName = "ds.myTable";
            Parallel.ForEach(dsList, a => db.myTableInsert(a)
                        );
            db.Dispose();
        }
    }

这不起作用,我想我需要打开和关闭Parallel.ForEach内部的连接。 这是写的方式吗?

我想使用这个扩展,它非常有帮助和手,但有这个插入列表的问题。 我在网上找不到有关使用此扩展程序和使用列表的任何内容。

一般情况下,数据库连接不是线程安全的,因此在同一个连接上并行插入,这样会造成麻烦。

所以我想说是的,你需要在Parallel.ForEach()打开和关闭连接。 您可能也希望对此进行基准测试。 我并不完全相信像多个数据库连接一样并行执行插入比在单个连接上执行常规循环要快得多。

暂无
暂无

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

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