原文:https://www.cnblogs.com/liuruitao/p/10049191.html

原文:https://www.cnblogs.com/yaopengfei/p/7751545.html

环境:

  就只安装了两个包,除此之外无其它任何配置,
  EntityFramework、Z.EntityFramework.Extensions

 一个简单的测试:

using System;
using System.Collections.Generic;
using System.Data.Entity; namespace ConsoleApp2
{
class Program
{
static void Main(string[] args)
{
using (var db = new BlogEntities())
{
//添加一条数据
//Blog entity = new Blog();
//entity.BlogId = 1;
//entity.Title = "title1";
//entity.CreateDate = DateTime.Now;
//db.Blogs.Add(entity);
//db.SaveChanges(); //查看 添加的数据 和 数据库链接地址
//int i = db.Blogs.ToList().Count;
//var d = db.Blogs.FirstOrDefault();
//var str = db.Database.Connection.ConnectionString; int total = ; //测试1
DateTime dt1 = DateTime.Now;
for (int i = ; i < total; i++)
{
Blog entity = new Blog();
entity.BlogId = ;
entity.Title = "title" + i.ToString();
entity.CreateDate = DateTime.Now;
db.Blogs.Add(entity);
db.SaveChanges();
}
Console.WriteLine("不批量插入1:" + (DateTime.Now - dt1).TotalMilliseconds); //测试2 和测试1的区别 在于 db.SaveChanges(); 的位置
DateTime dt2 = DateTime.Now;
for (int i = ; i < total; i++)
{
Blog entity = new Blog();
entity.BlogId = ;
entity.Title = "title" + i.ToString();
entity.CreateDate = DateTime.Now;
db.Blogs.Add(entity);
}
db.SaveChanges();
Console.WriteLine("不批量插入2:" + (DateTime.Now - dt2).TotalMilliseconds); //测试3 需要引入Z.EntityFramework.Extensions 批量插入
DateTime dt3 = DateTime.Now;
List<Blog> list = new List<Blog>();
for (int i = ; i < total; i++)
{
Blog entity = new Blog();
entity.BlogId = ;
entity.Title = "title" + i.ToString();
entity.CreateDate = DateTime.Now;
list.Add(entity);
}
db.BulkInsert(list);
db.SaveChanges();
Console.WriteLine("批量插入:" + (DateTime.Now - dt3).TotalMilliseconds); Console.ReadKey();
}
}
} public class Blog
{
public int BlogId { get; set; }
public string Title { get; set; }
public DateTime CreateDate { get; set; }
} public class BlogEntities : DbContext
{
public DbSet<Blog> Blogs { get; set; }
} }

EF 批量添加数据的更多相关文章

  1. EF批量添加数据性能慢的问题的解决方案

    //EF批量添加数据性能慢的问题的解决方案 public ActionResult BatchAdd() { using (var db = new ToneRoad.CEA.DbContext.Db ...

  2. EF批量添加数据之修改SQL Server执行上限

    asp.net core 项目 打开Startup.cs services.AddDbContext<MyContext>( options => { options.UseSqlS ...

  3. .Net中批量添加数据的几种实现方法比较

    在.Net中经常会遇到批量添加数据,如将Excel中的数据导入数据库,直接在DataGridView控件中添加数据再保存到数据库等等. 方法一:一条一条循环添加 通常我们的第一反应是采用for或for ...

  4. ThinkPHP批量添加数据和getField()示例

    批量添加数据 // 批量添加数据 $User = M('users'); $dataList[] = array('name'=>'thinkphp','email'=>'thinkphp ...

  5. thinkphp3.2 批量添加数据

    这是我遇到的thinkphp3.2 当中最让我无语的坑 批量添加数据有个方法是 addAll() 这个方法一定要注意数组的键名,一定要整齐!!! 可以在存入数据前,用ksort()方法将数组的键名排序 ...

  6. spring boot之使用通用Mapper批量添加数据

    通用Mapper是一款针对mybatis进行扩展的轻量级组件,使用起来非常方便.当调用其针对mysql进行批量添加数据的方法时,发现报错,仔细研究了一番,发现是在使用通用Mapper上出现了问题.下面 ...

  7. Yii2如何批量添加数据

    批量添加这个操作,在实际开发中经常用得到,今天小编抽空给大家整理些有关yii2批量添加的问题,感兴趣的朋友一起看看吧. 在上篇文章给大家介绍了关于浅析Yii2 gridview实现批量删除教程,当然, ...

  8. ADO.NET- 中批量添加数据的几种实现方法比较

    在.Net中经常会遇到批量添加数据,如将Excel中的数据导入数据库,直接在DataGridView控件中添加数据再保存到数据库等等. 方法一:一条一条循环添加 通常我们的第一反应是采用for或for ...

  9. 使用EF批量新增数据十分缓慢

    使用EF来批量新增数据,发现效率非常的差,几千条数据时甚至需要几分钟来执行,迫于无奈使用sql来执行了. 今天偶然看到一篇关于EF的文章,才发觉原来是自己对EF不够了解的原因. 一般新增时我们是将所有 ...

随机推荐

  1. windows 安装jenkins

    本文简单记录 windows 安装 jenkins. 1. 下载jenkins安装包,下载地址:https://jenkins.io/index.html 2. 选择下载windows版 3. 解压, ...

  2. ABP领域层创建实体

    原文作者:圣杰 原文地址:ABP入门系列(2)——领域层创建实体 在原文作者上进行改正,适配ABP新版本.内容相同 这一节我们主要和领域层打交道.首先我们要对ABP的体系结构以及从模板创建的解决方案进 ...

  3. PHP会话(Session)实现用户登陆功能

    对比起 Cookie,Session 是存储在服务器端的会话,相对安全,并且不像 Cookie 那样有存储长度限制,本文简单介绍 Session 的使用. 由于 Session 是以文本文件形式存储在 ...

  4. Replication-Manager

    MYSQL5.7下搭建Replication-Manager 环境说明 在主机1,主机2,主机3上安装MySQL服务端和客户端. 主机1 主机2 主机3 操作系统 CentOS7.4 CentOS7. ...

  5. java爬取并下载酷狗TOP500歌曲

    是这样的,之前买车送的垃圾记录仪不能用了,这两天狠心买了好点的记录仪,带导航.音乐.蓝牙.4G等功能,寻思,既然有这些功能就利用起来,用4G听歌有点奢侈,就准备去酷狗下点歌听,居然都是需要办会员才能下 ...

  6. python自带queue

    from queue import Queue # 线程安全队列 def thread_queue(): q = Queue(3) # 这个队列最多进多少东西 q.put('a') q.put('b' ...

  7. EF入门-CRUD操作

    一.EF数据查询假设我们已经定义好了context:private AccountContext db = new AccountContext(); 1.[基本查询] 查询所有var users = ...

  8. TensorFlow良心入门教程

    All the matrials come from Machine Learning class in Polyu,HK and I reorganize them and add referenc ...

  9. 编译原理-递归下降分析法 c程序部分的分析

    实验三 语法分析程序实验 专业 商软2班   姓名 黄仲浩  学号 201506110166 一. 实验目的      编制一个部分文法分析程序. 二. 实验内容和要求 输入:源程序字符串 输出:正确 ...

  10. shell中sed的简单使用

    sed命令行格式为:         sed [-nefri]  ‘command’  输入文本/文件        常用选项:        -n∶取消默认的输出,使用安静(silent)模式.在一 ...