void cancel() { if (personCollection.Count < 1 || personCollection == null) { _business.Cancel(); PersonCollection = null; SelectedPerson = null; } else { int index = personCollection.IndexOf(_person); if (index < 0) index = personCollection.Count - 1; _business.Cancel(); GoToRowDG(index); } }...
public void Cancel() { // 1. OK // var changedEntries = _dbContext.ChangeTracker.Entries() .Where(x => x.State != EntityState.Unchanged).ToList(); foreach (var entry in changedEntries) { switch (entry.State) { case EntityState.Modified: //entry.CurrentValues.SetValues(entry.OriginalValues); entry.State = EntityState.Unchanged; break; case EntityState.Added: entry.State = EntityState.Detached; break; case EntityState.Deleted: entry.State = EntityState.Unchanged; break; } } //2. OK // //var context = ((IObjectContextAdapter)_dbContext).ObjectContext; //var changedEntries = _dbContext.ChangeTracker.Entries() // .Where(x => x.State != EntityState.Unchanged).ToList(); //foreach (var change in changedEntries) //{ // if (change.State == EntityState.Modified) // { // context.Refresh(RefreshMode.StoreWins, change.Entity); // } // if (change.State == EntityState.Added) // { // context.Detach(change.Entity); // } //} }...
public void cancel()
{
int ln = SelectedPerson.Id;
int index = personCollection.IndexOf(_person);
var operson = _business.FindPersonID(ln);
personCollection[index] = operson;
SelectedPerson = operson;
GoToRowDG(index);
}
...internal Person FindPersonID(int lnid) { _dbContext = new PersonDB(); var o =_dbContext.Person.Find(lnid); return o; }is this good way for revert ie cancel ?