/// <summary> /// Actually Submits the cached changes into the database all at once. /// </summary> public void SubmitChanges() { //ToDo: eventually insert first, then delete, then update List <ChangeTrackerEntry> changedEntries = _ct.DetectChanges(); foreach (var change in changedEntries) { switch (change.State) { case ChangeTrackerEntry.States.Modified: ExecuteUpdate(change); break; case ChangeTrackerEntry.States.Added: ExecuteInsert(change); break; case ChangeTrackerEntry.States.Deleted: ExecuteDelete(change); break; } } //set ChangeTrackerEntries to unmodified and delete old ones _ct.ComputeChanges(); }