#transactions #sql-server-ce #windows-phone-7.1
#транзакции #sql-server-ce #windows-phone-7.1
Вопрос:
Иногда при работе с приложением WP7 я вижу исключение SQLCEException, в котором говорится, что некоторая таблица не существует. Я полагаю, что БД повреждена, потому что приложение закрывается, когда я записываю в БД (выполнение SubmitChanges () в выделенном потоке).
Вопрос в том, поддерживает ли база данных mango транзакции и должна ли она каким-то образом восстанавливаться при следующем запуске, когда видит, что какой-то запрос на запись не завершился успешно, и если нет, могу ли я как-то сделать это вручную?
Комментарии:
1. Почему бы не включить готовую базу данных в установщик вашего приложения?
Ответ №1:
Я не заметил какой-либо попытки восстановления при запуске. Обычно, если в базе данных SQL CE сбой, и у вас нет catch при загрузке, ваше приложение просто вылетит. Я сталкиваюсь с аналогичными проблемами в моем приложении SQL CE DB. Я обнаружил, что наиболее надежным методом обеспечения стабильности является попытка изменения больших баз данных в качестве фоновой задачи. Таким образом, если пользователь закрывает приложение по какой-либо причине, запись в БД не приводит к сбою в БД.