我对是否context.SaveChanges会DetectChanges自动打电话感到困惑。关于Entity Framework的大多数书籍和博客都表示愿意。但是我的简单代码段。好像SaveChanges不打电话DetectChanges。
using (var context = new BreakAwayContext())
{
context.Configuration.AutoDetectChangesEnabled = false;
var grand = context.Destinations.Single(d => d.Name == "Grand Canyon");
grand.Description = "Changed here";
context.SaveChanges();
}
Run Code Online (Sandbox Code Playgroud)
这不会将更改的属性保存到数据库中。
这会:
using (var context = new BreakAwayContext())
{
context.Configuration.AutoDetectChangesEnabled = false;
var grand = context.Destinations.Single(d => d.Name == "Grand Canyon");
grand.Description = "Changed here";
context.ChangeTracker.DetectChanges();
context.SaveChanges();
}
Run Code Online (Sandbox Code Playgroud)
非常感谢。