使用EF批量新增数据十分缓慢
使用EF来批量新增数据,发现效率非常的差,几千条数据时甚至需要几分钟来执行,迫于无奈使用sql来执行了。
今天偶然看到一篇关于EF的文章,才发觉原来是自己对EF不够了解的原因。
一般新增时我们是将所有的记录都添加到了同一个上下文中了,EF会对我们新增的这些记录进行追踪,随着我们增加的记录越来越多,EF追踪的对象图自然就越来越大了,然后对我们来说效率就会飞速下降。
解决办法
1是可以关闭自动调用context.Configuration.AutoDetectChangesEnabled=false
2是使用多个上下文进行批量新增