2010-07-09 3 views
0

Если я хочу, чтобы повторно передать изменения, я должен пересмотреть их после того, как сделать мой первый представить, или я могу просто назвать SubmitChanges() метод снова, как в следующем коде:Повторное внесение изменений?

DB.SubmitChanges(); 

Thread.Sleep(1000); 

DB.SubmitChanges(); 

Edit: Причина, почему Я хочу сделать это, потому что у меня есть два разных запроса linq, которые обрабатывают конфликты, используя RefreshMode.OverwriteCurrentValues. Один из вопросов более важен, чем другой, и для того, чтобы превзойти другого, моя лучшая идея (и я не очень признательна) - просто подождать и повторно представить изменения.

+0

Можем ли мы получить некоторый контекст, почему вы должны это делать? Это поможет с окончательным решением ... – Tommy

+0

Уверенная вещь, дайте мне минуту и ​​проверьте OP для некоторых изменений. – sooprise

ответ

0

Если DB.SubmitChanges возвращается без исключения исключения - он думает, что в базе данных теперь есть изменения. Он по-прежнему отслеживает «измененные» значения, но они отслеживаются как неизменные и не будут повторно отправлены.

Если DB.SubmitChanges выбрасывает, то он думает, что ни одно из изменений не попало в базу данных. В этом случае «измененные» значения по-прежнему отслеживаются как измененные и вызывающие DB.SubmitChanges снова попытаются сделать те же самые изменения. Вы можете разрешить конфликты с оптимистичным конфликтом перед выполнением этого второго вызова.