Вы можете использовать GetOriginalEntityState (..) , чтобы получить исходные значения для объектов, например. Клиенты, использующие старые кэшированные значения.
Вы также можете перебирать изменения, например, обновляет и обновляет только определенные объекты, а не целые таблицы, поскольку снижение производительности будет высоким.
foreach (Customer c in MyDBContext.GetChangeSet().Updates)
{
MyDBContext.Refresh(System.Data.Linq.RefreshMode.OverwriteCurrentValues, c);
}
это вернет изменения с использованием постоянных данных в базе данных.
Другое решение - сбросить использованный текст данных с помощью Dispose ().
В любом случае хорошей практикой является переопределение методов вставки и удаления в коллекции, например. Клиенты, которых вы используете и добавляете, например, вызов InsertOnSubmit (). Это решит вашу проблему с ожидающими вставками и удалениями.