Каков наилучший подход к синхронизации DataSet с данными в базе данных? Вот параметры:Синхронизация DataSet
- Мы не можем просто перезагрузить данные, потому что он привязан к элементу управления пользовательского интерфейса, которые пользователь может настроить (это дерево сетки, что они могут развернуть/свернуть)
- Мы можем» t использовать changeflag (например, UpdateTimeStamp) в базе данных, потому что изменения не всегда текут через приложение (например, DBA может обновлять поле с помощью инструкции SQL)
- Мы не можем использовать триггер обновления в базе данных, потому что это многопользовательская система
- Мы используем ADO.NET DataSets
- Несколько fi поля могут меняться в заданном ряду
Я просмотрел возможность слияния DataSet, но это, похоже, не содержит понятия столбца «ID». Я посмотрел возможности DiffGram, но проблема здесь заключается в том, что они, похоже, генерируются из изменений внутри одного и того же набора данных, а не из-за изменений, происшедших на каком-то внешнем источнике данных.
Я некоторое время работал с этим решением, но подход, который, как я знаю, будет работать (с большим количеством неэффективности), заключается в создании отдельного DataSet, а затем повторении всех строк, применяющих изменения, поля по полю, к DataSet на котором он связан.
У кого-нибудь был похожий сценарий? Что вы сделали для решения проблемы? Даже если вы не сталкивались с подобной проблемой, любая рекомендация для решения оценивается.
Благодаря