I am trying to understand why DbContext does not detect many-to-many relationships. This is what I installed in the model configuration:
this.Configuration.ValidateOnSaveEnabled = false; this.Configuration.ProxyCreationEnabled = false; this.Configuration.LazyLoadingEnabled = false;
This is the test code:
var book = Context.Set<Book>().Where(b => b.Id == 1).Single(); var author = Context.Set<Author>().Where(a => a.Id == 2).Single(); book.Authors.Add(author);
if I check for changes, it does not report:
// returns false _context.ChangeTracker.Entries().Any(e => e.State == EntityState.Added || e.State == EntityState.Modified || e.State == EntityState.Deleted);
If I save the changes, the changes will be correctly updated to the database.
Why doesn't DbContext track many-to-many changes? WCF is not involved, it is a direct connection to the Sql server.
source share