Похоже, вы пытаетесь справиться с проблемами параллелизма? Именно здесь, когда вы отправляете, база данных уже изменилась, что приводит к сбою отправки. Дайте мне знать, если это то, что вы после:
DataClasses1DataContext dc = new DataClasses1DataContext();
try
{
dc.SubmitChanges(System.Data.Linq.ConflictMode.ContinueOnConflict);
}
catch (System.Data.Linq.ChangeConflictException ex)
{
foreach (var conflict in dc.ChangeConflicts)
{
conflict.Resolve(System.Data.Linq.RefreshMode.KeepChanges);
}
dc.SubmitChanges();
}
Этот шаблон делает тяжелую работу для вас по вопросам параллелизма. RefreshMode имеет перегрузки для принудительного внесения изменений, обновления последних значений, за исключением ваших изменений, или для того, чтобы база данных перезаписала ваши изменения. Вы можете отправить снова. Обратите внимание, что фиксация в полном объеме является рекурсивным процессом, и ваш последующий вызов для отправки изменений также может быть неудачным.