如何获得UWP卸载以完全删除数据库?

时间:2018-12-15 20:25:02

标签: entity-framework-6 windows-store desktop-bridge xaf project-centennial

我设法通过Desktop Bridge将XAF应用程序导入Windows应用商店。

当用户从Windows应用商店安装我的软件,然后选择卸载时, 我希望他们可以选择完全卸载包括数据库在内的软件。 这样他们以后再决定重新安装时不会有任何问题?

当前,UWP卸载没有提供删除数据库的选项(甚至没有说明如何删除数据库),因此,用户可能很想通过Windows资源管理器删除数据文件-这仍然使LocalDB的某些实例维护了数据库列表中的条目。

因此,在删除数据库文件后进行第二次安装时,UWP程序显示错误

"Login failed for user" 

in this question

所述

我的连接字符串正在使用

(localdb)\mssqllocaldb

如何自动完全删除数据库及其内存?

即我可以使用什么卸载事件,该在哪里覆盖?

在Desktop Bridge本身中看不到任何可执行代码。

目前,我认为我可能需要在实际程序中添加“在卸载之前运行此程序”选项。

或者作为一种解决方法,我应该为“用户登录失败”错误编写一个清理处理程序。

This issue is related

我正在使用Entity Framework 6.2和.Net Framework 4.7.2

Bridge项目正在使用Windows 10版本1809,内部版本17763(最小和目标)

1 个答案:

答案 0 :(得分:0)

请参见 Getting Started with EF Core on Universal Windows Platform (UWP) with a New Database 。它介绍了迁移的使用。迁移旨在帮助您更改数据库设计并实现生产中的更改。但是,由于Microsoft尚未彻底记录该功能,因此迁移可能会令人沮丧。 SQLite不支持的某些迁移功能列表;从一开始就知道这一点很重要。