使用 drapper 批量更新list 到数据库中

  1. 需求,将数据表中的数据,按照字段A,分组后,并以字段A为db文件名,导出。

  2. 实现方式,先按照字段A分组获取需要导出的数据,然后,建表并导出数据
    主要技术: 将需要导出的list|数据批量导出到数据表中。

主要代码


                using (IDbConnection connection = new SQLiteConnection($"Data Source={dbfile};"))
                {
                    connection.Open();
                    //建表
                    //插入数据

                    string createSql = "CREATE TABLE DATA (IRes INTEGER,BTIME VARCHAR(20),KeyId VARCHAR(16),Bill VARCHAR(100),Qr VARCHAR(100),QrShort VARCHAR(32),State INTEGER)";

                    connection.Execute(createSql);
string insertsql = "INSERT INTO DATA(IRes,BTIME,KeyId,Bill,Qr,QrShort,State)VALUES(@IRes,@BTIME,@KeyId,@Bill,@Qr,@QrShort,@State)";
                  
System.Data.SQLite.SQLiteTransaction trans = (SQLiteTransaction)connection.BeginTransaction();

                    connection.Execute(insertsql, file.dataLst, transaction: trans);///file.dataLst就是需要导出到数据表的数据

                    trans.Commit();

                    connection.Close();
                }

注意:
insert 语句在sqlite中执行时,会很慢,使用事务批量插入,则只需要开启一次事务处理过程。极大提高插入的速度。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值