原来我是这么认为的 context.Configuration.AutoDetectChangesEnabled = false; 将禁用更改跟踪。 但不是。 目前,我需要在我的所有LINQ查询(对于我的只读图层)上使用AsNoTracking() )。 是否有全局设置禁用DbContext的跟踪?
如何检测ICollection <>属性(多对多关系)的更改? public class Company { … public virtual ICollection<Employee> Employees { get; set; } } using (DataContext context = new DataContext(Properties.Settings.Default.ConnectionString)) { Company company = context.Companies.First(); company.Employees.Add(context.Employees.First()); context.SaveChanges(); } public class DataContext : DbContext { public override int SaveChanges() { return base.SaveChanges(); // Company's entity state is "Unchanged" in this.ChangeTracker } }