我正在开发一个订单系统,其中可以包含1到200多个订单。现在我们有一个循环遍历每个订单并将其插入数据库。使用SqlBulkCopy是否有意义?使用它会降低小订单的性能吗?有没有其他技术可以加速插入?
谢谢!
答案 0 :(得分:1)
基本上你可以做几件事。
使用SqlBulkCopy.WriteToServer
与EF无法合作,但有多次尝试创建扩展程序
使用一个存储过程,它会占用一个大记录并按照某种逻辑将其拆分
使用表类型的存储过程参数并对存储过程进行一次调用(以及存储过程中的几个insert ... select
)
总的来说,我更喜欢第三种选择。
检查此问题Entity Framework Stored Procedure Table Value Parameter