Получение стабильного набора данных после обновления - PullRequest
0 голосов
/ 02 февраля 2010

У меня есть набор данных, который изменил, вставил и удалил строки. Я отправляю набор данных.GetChanges на свой MiddleTier, который, в свою очередь, отправляет его на сервер, который обновляет базу данных. Я использую GetChanges, поэтому отправляю как можно меньше строк.

Сервер просто обновляет, вставляет и удаляет строки и отправляет обратно обновленный набор данных, который я затем объединяю со своим локальным набором данных. Проблема в том, что я получаю дублированные добавленные / измененные строки, когда первичные ключи не совпадают. Так что я думаю, что я хочу вызвать RejectChanges после слияния, который удалит все оставшиеся изменения (это будет дубликатами). Проблема в том, что все удаленные строки все еще остаются в наборе данных. Слияние не удаляет удаленные строки, мне нужно вызвать AcceptChanges, чтобы сделать это. Поэтому мне нужно выполнить Accept и RejectChanges, но это невозможно.

Есть ли хороший способ сделать это? Любые предложения о том, как решить эту проблему наилучшим образом?

Спасибо!

1 Ответ

1 голос
/ 02 февраля 2010

Если вы выполняете AcceptChanges для набора данных перед отправкой изменений в набор данных среднего уровня, он должен позаботиться о себе сам (т.е. обновить, удалить, добавить).Таким образом, вам не нужно объединять изменения, так как ваш набор данных уже обновлен.

Вам также может понадобиться подумать о том, что должно произойти, если и когда эти изменения на сервере не пройдут.из статьи MSDN DataSet: метод AcceptChanges

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...