Hi,
I could not reproduce your issue. Can you provide a reproducible test case?
By the way, below is the test I ran (against northwindIB):
int employeeID = 1;
var targetedEmployeesList = _em1.Employees
.Where(emp => emp.EmployeeID == employeeID)
.ToList();
Employee anEmployee = targetedEmployeesList.First();
anEmployee.FirstName = ModifyString(anEmployee.FirstName);
_em2.ImportEntities(new Entity[] { anEmployee }, MergeStrategy.OverwriteChanges);
var op2 = _em2.SaveChangesAsync();
op2.Completed += (s, savedArgs) => {
_em1.ImportEntities(savedArgs.Entities, MergeStrategy.OverwriteChanges);
var myEmployeeBackToEM1 = _em1.Employees.With(QueryStrategy.CacheOnly).First();
var nameBeforeRejectChanges = myEmployeeBackToEM1.FirstName;
_em1.RejectChanges();
var nameAfterRejectChanges = myEmployeeBackToEM1.FirstName;
if (nameBeforeRejectChanges == nameAfterRejectChanges) {
MessageBox.Show("Same values before and after RejectChanges");
} else {
MessageBox.Show("Values changed !");
}
};