private bool ShouldSkipRegistration(EntityFieldValueSetCompletedEventArgs e) { if (!Session.DisableAutoSaveChanges) { return(true); } if (Session.IsPersisting) { return(true); } if (e.Exception != null) { return(true); } if (!e.Field.IsEntity && !e.Field.IsStructure) { return(true); } if (e.Field.IsEntity && e.Field.Associations.First().IsPaired) { return(true); } if (e.NewValue == null && e.OldValue == null) { return(true); } return(false); }
private void OnEntityFieldValueSetCompleted(object sender, EntityFieldValueSetCompletedEventArgs e) { if (ShouldSkipRegistration(e)) { return; } if (e.Field.IsStructure) { HandleStructureValues(e.Entity, e.Field, (Structure)e.OldValue, (Structure)e.NewValue); } else { HandleEntityValues(e.Entity, e.Field, (Entity)e.OldValue, (Entity)e.NewValue); } }