Я использую Siaqodb для своей клиентской базы данных в проекте Silverlight Sync Framework. Я перешел на siaqodb, потому что клиентское решение microsofts загружает всю базу данных в память одновременно и, как таковое, с трудом обрабатывает большие данные.
Я связал список объектов SiaqodbOfflineEntity с сеткой данных silverlight, чтобы создать редактируемую сетку данных. В отличие от решения Microsoft, вы не можете привязать записи базы данных напрямую к сетке данных. Вы должны сделать запрос к базе данных и связать список объектов в памяти с сеткой данных. Это вызывает проблему, заключающуюся в том, что база данных не обновляется сразу после изменения ячейки таблицы данных. Я пытаюсь найти лучший способ обработки обновлений базы данных после изменения в ячейке. Я не могу просто обновить каждый элемент в базе данных, потому что движок siaqodb пометит элемент как грязный, даже если в объект не было внесено никаких изменений. Это приведет к конфликтам при попытке синхронизации. хранение кэшированной версии исходного списка и последующее сравнение каждого свойства каждого объекта, чтобы найти, какие из них изменились, выглядит так, как будто оно будет работать, но выглядит немного громоздким. Я также пытался просмотреть некоторые события datagrids, но RowEditEnded не запускается при редактировании ячейки, а CurrentCellChanged, похоже, срабатывает всякий раз, когда я переключаю строки (нечетно).
Должно быть лучшее решение для этого. У кого-нибудь есть идеи?