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