有时在处理WP7应用程序时,我会看到SQLCEException,它表明某些表不存在。我认为数据库损坏是因为我在写入数据库时正在关闭应用程序(在专用线程上执行SubmitChanges())。
问题是 - 芒果数据库是否支持事务,并且当它发现某些写入查询没有成功完成时,它应该在下次启动时恢复吗?如果不能,我可以以某种方式手动执行此操作吗?
答案 0 :(得分:0)
我没有注意到任何形式的启动时尝试恢复。通常,如果SQL CE数据库出现故障,并且您没有捕获负载,那么您的应用程序将崩溃。我在SQL CE DB应用程序上遇到了类似的问题。我发现最可靠的稳定方法是尝试将大型数据库模块作为后台任务。这样,如果用户因任何原因关闭应用程序,DB写入不会导致数据库出错。