WP7上的DatabaseSchemaUpdater错误
发布时间:2020-12-14 05:35:32 所属栏目:Windows 来源:网络整理
导读:我使用 DatabaseSchemaUpdater实现了一些db版本逻辑,发现了一个问题. 如果我执行此代码 updater.DatabaseSchemaVersion = updater.DatabaseSchemaVersion + new Random().Next(10)+1; updater.Execute(); 并通过后退按钮离开应用程序 – 一切正常.架构版本已
我使用
DatabaseSchemaUpdater实现了一些db版本逻辑,发现了一个问题.
如果我执行此代码 updater.DatabaseSchemaVersion = updater.DatabaseSchemaVersion + new Random().Next(10)+1; updater.Execute(); 并通过后退按钮离开应用程序 – 一切正常.架构版本已修改. 如果我通过“开始”按钮离开然后再次启动应用程序(对于普通用户而言,通常情况下) – 没有任何更新. db有以前的版本. 调用Dispose()将解决这个问题,但是我们使用单个DataContext对象,因此这种方法对于这种情况会有点麻烦. https://www.dropbox.com/s/wfyvwvjd12wifgl/DBUpdTest.zip – 测试项目 – 你可以简单地启动应用程序,并以不同的方式关闭,看看会发生什么(db ver写在文本框中). 问题是:这种行为是否正常?停用和启动应用程序是否会破坏其他内容?有没有办法解决这些问题(Disposing除外)? 解决方法
在过去的几个小时里我遇到了同样的问题,我搜索了很多Google.帮助我的唯一解决方案实际上是在数据库上下文中使用using关键字.之后,我重新创建了数据上下文.
// _dataContext is static. By checking for null I make sure that the database // creation and migration is only done once during the app lifecycle if (_dataContext == null) { // get the context using (_dataContext = new WorkTimesDataContext(IsoStoreDatabasefile)) { // do DB creation // do DB migration } // now that the context is disposed,recreate it _dataContext = new WorkTimesDataContext(IsoStoreDatabasefile); } 虽然官方文档明确指出:“当调用该方法(执行)时,所有更改都作为单个事务提交到本地数据库,包括版本更新,但似乎数据库在应用程序进入逻辑删除状态时未正确更新. “. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Tips for vcpkg
- windows-server-2012 – Windows Server 2012 Root Enterpr
- windows – 在多个zip压缩文件中搜索字符串
- ms-access – 在Microsoft Access 2010表单和报表中显示多个
- window局域网共享文件夹
- windows – 我可以脱机恢复bitlocker加密驱动器吗?
- windows-store-apps – 错误CS0117:’System.Type’不包含
- windows-phone-8 – 如何通过耳机仅在Windows Phone 8应用程
- 在Windows上安装Fabric(错误没有模块称为Readline)
- windows-server-2012 – RDS 2012 r2客户端上的网络摄像头?
推荐文章
站长推荐
- 我如何从powershell完全关闭windows defender
- azure-active-directory – Microsoft Azure AD图
- windows – 为什么PE需要Original First Thunk(O
- windows – BAT文件映射到网络驱动器而不以管理员
- 创建没有MSVCP90.dll的Python EXE
- msxml3.dll错误’80072ee2’操作超时
- windows-server-2008-r2 – 如何在共享驱动器上自
- windows-7 – 跳过新的Windows 7用户选择并转到登
- active-directory – 如何在Windows Server 2008
- Windows上的Java RS-232通信
热点阅读