C# 批量查询的一种解决方案

本文介绍了针对客户查询Excel数据的难题,提出了使用SqlSugar ORM、NPOI和SqlBulk的解决方案。SqlSugar提供安全的数据库交互,NPOI处理Excel文档,SqlBulk则用于大数据量的快速导入。通过这种方式,可以避免耗时的手动SQL拼接,且适用于10万条以上数据的场景。注意避免For循环和利用中间表进行批量查询以优化性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

业务背景:
经常接到客户的类似需要,客户丢给公司内部人员一个excel,之后需要查询组装上线的绑定数据或者包装数据,也没有一个好的界面给用户查询
解决方案:
1.写SQL脚本,开始拼接SQL,之后耗时耗力;
2.在程序中使用文本输入框的字符是有限的,对于5万以上的数据无能为力;
全新解决方案:
SqlSugar(ORM)+NPOI+sqlBulk(针对大数据(10万条以上)的情况下)

优点:
1.SqlSugar(ORM)提供了与数据库交互的接口,而且很好的避免sql注入和sql错误;上手特别快,基本看一下官方文档和例子差不多就能会;此ORM是开源的,很多.NET的大厂都在使用
SqlSuagr官网地址 :http://www.codeisbug.com/Home
2.NPOI提供了对文档的操作方法,而且避免了不安装微软excel特别版本的尴尬,具体封装方法见MESCommon
3.sqlbulk提供了对excel文档大批量数据的操作,插入100万条数据到数据库大约需要30S;
对大批量数据操作性能比较文档:
代码演示地址 :https://blog.csdn.net/baidu_29047977/article/details/90515682
3.SqlSugar是一款很好用的Orm框架,在某些性能上,比微软的EF框架还优越
注意事项
1.对于数据较大的操作,尽量别用For循环;
2.对于数据批量查询的操作,尽量使用中间表;

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值