EF速度超慢,为何?

sunho89 2015-12-22 06:33:30
各位朋友,我现在要更新几十万条数据,但用EF6.0 codefirst速度超慢,1秒几条数据都是快的。有人说更新某一字段就只修改这个字段的IsModified,但我试过效果并不明显。EF真的有这么慢吗?怎么去优化呢? 烦请大家指教,谢谢!
...全文
899 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunho89 2016-03-03
  • 打赏
  • 举报
回复
ef扩展(EntityFramework.Extended), 批量更新又扯了, 1,获取数据对象集合IQueryable<CarOwner> list,循环修改字段Latitude ,Longitude 值, 2,然后更新操作 list.Update(c => new CarOwner { Latitude = c.Latitude, Longitude = c.Longitude, UpdateTime = DateTime.Now }); 原来只能更新UpdateTime 这个写死的字段。 前段时间较忙,就先放下了没管它。请教各位还有什么建议吗?谢谢!
sunho89 2015-12-31
  • 打赏
  • 举报
回复
ef扩展,批量操作更快,谢谢各位
D56233577 2015-12-24
  • 打赏
  • 举报
回复
引用 8 楼 zhuankeshumo 的回复:
加上AsNoTracking()
不能这么做,不跟踪状态如何保存?
newtee 2015-12-24
  • 打赏
  • 举报
回复
加上AsNoTracking()
myhope88 2015-12-24
  • 打赏
  • 举报
回复
貌似确实是慢了点
sunho89 2015-12-24
  • 打赏
  • 举报
回复
引用 6 楼 D56233577 的回复:
多个原因导致ef就是这么慢,比如它需要跟踪实体的状态。批量更新时请在ef中直接使用sql语句,或者使用ef的扩展库,增加了批量更新支持。
http://www.cnblogs.com/chengxiaohui/articles/2092001.html / /直接使用sql语句,感觉是快了很多 扩展的明天试下效果 http://www.cnblogs.com/bomo/p/3509923.html 感谢给位的帮助!
D56233577 2015-12-23
  • 打赏
  • 举报
回复
多个原因导致ef就是这么慢,比如它需要跟踪实体的状态。批量更新时请在ef中直接使用sql语句,或者使用ef的扩展库,增加了批量更新支持。
lovebaby 2015-12-23
  • 打赏
  • 举报
回复
你先用ado.net更新测试一下,看速度会快多少。再用sqlprofile看一下ef生成的更新SQL,有没有需要优化的地方。另外你的数据库表的相关索引的建立也会影响你的执行效率。
MrRicky 2015-12-23
  • 打赏
  • 举报
回复
慢单是稳定啊,有限速的,不然一个劲的插还不出问题了
正怒月神 版主 2015-12-23
  • 打赏
  • 举报
回复
你的更新,是先查询出对象,然后在进行更新的吗? 你可以试试 http://www.cnblogs.com/jameszou/archive/2013/03/12/2956281.html 看看会不会快点。 当然是在太慢的话,就用ado.net
快乐起航2020 2015-12-22
  • 打赏
  • 举报
回复
会不会访问数据库的地方需要优化
快乐起航2020 2015-12-22
  • 打赏
  • 举报
回复
博客园区看一些EF的文章吧

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧