未优化修改:
static void Main(string[] args)
{
DateTime startDateTime = DateTime.Now;
using (studyEntities study = new studyEntities())
{
//study.Configuration.AutoDetectChangesEnabled = false;
var users = study.Users.Where(x=>x.Id>0);
foreach (var item in users)
{
item.Name = "你我他";
}
DateTime insetLocalDateTime = DateTime.Now;
TimeSpan local = insetLocalDateTime - startDateTime;
Console.WriteLine("数量" + 10000 + " 本地添加到数据上下文耗时 " + local.TotalMinutes + " 分钟 = " + local.TotalSeconds + " 秒");
study.SaveChanges();
DateTime insetDataDateTime = DateTime.Now;
TimeSpan data = insetDataDateTime - insetLocalDateTime;
Console.WriteLine("数量" + 10000 + " 数据库添加完成耗时" + data.TotalMinutes + " 分钟 = " + data.TotalSeconds + " 秒");
}
}
优化 在添加到数据上下文,关闭 AutoDetectChangesEnabled ,提交之前 开启 AutoDetectChangesEnabled
static void Main(string[] args)
{
DateTime startDateTime = DateTime.Now;
using (studyEntities study = new studyEntities())
{
study.Configuration.AutoDetectChangesEnabled = false;
var users = study.Users.Where(x=>x.Id>0);
foreach (var item in users)
{
item.Name = "你我他2";
}
DateTime insetLocalDateTime = DateTime.Now;
TimeSpan local = insetLocalDateTime - startDateTime;
Console.WriteLine("数量" + 10000 + " 本地添加到数据上下文耗时 " + local.TotalMinutes + " 分钟 = " + local.TotalSeconds + " 秒");
study.Configuration.AutoDetectChangesEnabled = true;
study.SaveChanges();
DateTime insetDataDateTime = DateTime.Now;
TimeSpan data = insetDataDateTime - insetLocalDateTime;
Console.WriteLine("数量" + 10000 + " 数据库添加完成耗时" + data.TotalMinutes + " 分钟 = " + data.TotalSeconds + " 秒");
}
}
因此修改,不必关闭检测更新