博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Entity Framework 批量插入
阅读量:5854 次
发布时间:2019-06-19

本文共 2944 字,大约阅读时间需要 9 分钟。

  hot3.png

前几天看到一篇文章里提到过,在批量插入时,需要加上Context.Configuration.AutoDetectChangesEnabled = false;

文章原话:EF默认会自动的跟踪数据的变化,当变更的数据量较大的时候,EF的跟踪工作量就会骤增,但指定操作变得非常缓慢(这也是部分同学怀疑EF的性能问题的一个怀疑点),其实,只要在批量操作的时候把自动更新关闭,即可解决缓慢的问题。

大家自己去看看: 由于没测试,所以不知道结果是不是变快,快多少

结果早上发现首页一个测试Entity Framework的文章, 说EF性能不行,正好没加这句,我也好奇,所以自己测试下,写这个文章不是针对作者,只是自己好奇,互相讨论

测试结果

Context.Configuration.AutoDetectChangesEnabled = false 时,果然是拖拉机变灰机啊。。。

不知道这样测试对不对,反正确实快了不少

后台代码

public ActionResult Index(int args, string check)        {            int count = args;            EF_Test test = new EF_Test();            Random ra = new Random();            System.Text.StringBuilder result = new System.Text.StringBuilder();            var now1 = DateTime.Now.TimeOfDay;            result.Append(string.Format("

{0}开始将数据Add到上下文中,数据量:{1}

", now1, count)); if (check != null) { db.Configuration.AutoDetectChangesEnabled = false; db.Configuration.ValidateOnSaveEnabled = false; } for (int i = 0; i < count; i++) { test = new EF_Test(); test.Name = "linfei"; test.Date = DateTime.Now; test.RandomNum = ra.Next(1, 10) * 100; db.EF_Test.Add(test); } var now2 = DateTime.Now.TimeOfDay; result.Append(string.Format("

{0}数据Added完毕,开始执行Insert操作,耗时{1}

", now2, now2 - now1)); result.Append(string.Format("

AutoDetectChangesEnabled 状态:{0}

", db.Configuration.AutoDetectChangesEnabled)); try { db.SaveChanges(); } finally { db.Configuration.AutoDetectChangesEnabled = true; db.Configuration.ValidateOnSaveEnabled = true; } var now3 = DateTime.Now.TimeOfDay; result.Append(string.Format("

{0}Insert完毕,耗时{1}

", now3, now3 - now2)); ViewBag.result = result.ToString(); return View(); }

分类:

绿色通道:

0

0

(请您对文章做出评价)

上一篇:

下一篇:

posted on 2013-06-07 12:25 阅读(422) 评论(0)

发表评论

昵称:

评论内容:

引用粗体链接缩进代码图片

[使用Ctrl+Enter键快速提交]

最新IT新闻:

·
·
·
·
·
»

最新知识库文章:

·

·
·
·
·

»

Powered by:

Copyright © dogxuefeng

2013年6月

26

27
28
29
30
31
1

2

6

9

10
11
12
13
14
15

16

17
18
19
20
21
22

23

25
26
27
28
29

30

1
2
3
4
5
6

导航
统计
  • 随笔 - 41
  • 文章 - 0
  • 评论 - 12
  • 引用 - 0
公告

昵称:

园龄:
粉丝:
关注:

搜索
常用链接
随笔分类(40)
随笔档案(41)
最新评论
  • 哪里下载?
  • --gaofq
  • dogxuefeng
    呵呵,我有些地方弄错了,改过来就没问题了。
  • --小小程序媛
  • @dogxuefeng嗯,我是在comboBoxEdit的TextChange()事件里触发模糊查询这段代码的,所以好像不能避免我说的那个情况。我现在把代码写在keyup()事件里了,情况有改进,但还是有点问题。如果我的输入法是搜狗的,它还是像以前那样,如果我把输入法切换成美式键盘的输入法就没问题了......
  • --小小程序媛
  • @小小程序媛这个控件确实有自带的模糊查找功能,但是你说的那个问题我觉得不会,他只是显示出来,但是下拉后任会把其他符合条件的数据显示在下拉中,其实你只要加一行代码,输入的值改变时,展示所有满足条件的item就行了...
  • --dogxuefeng
  • comboBoxEdit模糊查询,即使你不写这个方法,它也会有一个自带模糊查询的效果。比如你comboBoxEdit控件里有以下几个值,分别是:b001,b002,A001,b20k;在你没写自定义模糊查询方法时,你输入一个b,它会自动带出b001显示在控件上,只能是输入首位字符的时候才有这个效果。......
  • --小小程序媛
阅读排行榜
评论排行榜
推荐排行榜

转载于:https://my.oschina.net/wzzz/blog/294688

你可能感兴趣的文章
ftruncate(改变文件大小)
查看>>
多点触摸与单点触摸接口主要区别【转】
查看>>
LeetCode OJ:Combination Sum II (组合之和 II)
查看>>
简述Dubbo
查看>>
(转)三分钟玩转jQuery.noConflict()
查看>>
python基础学习笔记第一天
查看>>
C/S和B/S 《JavaWeb开发王者归来》学习笔记
查看>>
图像分类丨浅析轻量级网络「SqueezeNet、MobileNet、ShuffleNet」
查看>>
SSM框架的Bug
查看>>
力扣题目17-22-709,832,521,788,520,35,125,58
查看>>
cURL中的超时设置
查看>>
如何保障微服务架构下的数据一致性
查看>>
软件开发过程学习笔记(四)之详细设计说明书模板 分类: 开发过程 ...
查看>>
Python操作Redis及连接方式
查看>>
vs的【warning C4996:'fopen': This function or variable may be unsafe】解决方案
查看>>
长安大学第四届ACM-ICPC“迎新杯”程序设计竞赛-重现赛 F - 打铁的箱子
查看>>
zoj 3204 Connect them
查看>>
解决BUG:Cannot change version of project facet Dynamic web module to 2.5
查看>>
2018/8/10 部分枚举(类似尺取)
查看>>
[LUOGU] P2245 星际导航
查看>>