public void SyncChangeTracking() { foreach (var entry in this.ChangeTracker.Entries <IBaseEntity>()) { entry.Entity.ModelState = ModelState.Unchanged; var originalValues = BaseContextHelper.BuildOriginalValues(entry.Entity.GetType(), this.Entry(entry.Entity).OriginalValues); entry.Entity.SetOriginalValues(originalValues); } }
public void BuildOriginalValues() { var model = new TestModel { Id = 123, IsActive = true, Name = "test" }; var properties = A.Fake <PropertyValues>(options => options.CallsBaseMethods()); properties.SetValues(model); var result = BaseContextHelper.BuildOriginalValues(model.GetType(), properties); result.Should().BeEquivalentTo(new Dictionary <string, object> { { "Id", 123 }, { "IsActive", true }, { "Name", "test" } }); }