C# 带有UWP应用程序的自托管SQL数据库(LocalDB)
我有一个UWP应用程序与SQL数据库一起工作,该数据库将很快发布到Microsoft应用商店。作为免费版本测试的一部分,我想让应用程序用户能够创建一种自托管数据库。自托管意味着我不需要用户安装应用程序本身以外的任何东西 预期行为 用户单击一个按钮(当UWP应用程序启动时),LocalDB实例将使用连接的数据库启动。用户从应用程序连接到此数据库,然后 约束C# 带有UWP应用程序的自托管SQL数据库(LocalDB),c#,sql,sql-server,uwp,localdb,C#,Sql,Sql Server,Uwp,Localdb,我有一个UWP应用程序与SQL数据库一起工作,该数据库将很快发布到Microsoft应用商店。作为免费版本测试的一部分,我想让应用程序用户能够创建一种自托管数据库。自托管意味着我不需要用户安装应用程序本身以外的任何东西 预期行为 用户单击一个按钮(当UWP应用程序启动时),LocalDB实例将使用连接的数据库启动。用户从应用程序连接到此数据库,然后 约束 客户端计算机未安装LocalDB或SQLExpress 它不可能是另一个数据库系统(因为基础非常复杂,我不能为同一个应用程序维护不同的系统)
- 客户端计算机未安装LocalDB或SQLExpress
- 它不可能是另一个数据库系统(因为基础非常复杂,我不能为同一个应用程序维护不同的系统),我知道SQLite就是为这个设计的,但它不适合我的需要
- 如何创建使用特定数据库启动LocalDB实例的包
- 该软件包可以集成到UWP应用程序中吗
我在网上找到了上千个主题,但只有在客户端计算机上已经安装了LocalDB的情况下才有这些主题。假设您确实需要一个永久数据存储,我建议您对数据库连接使用依赖项注入,然后在演示模式下运行时,简单地用SQLite代替远程SQL交互。在这种情况下,您需要为您的应用程序包含一个Nuget软件包 如果您不需要永久数据存储(例如,希望在电源周期或应用程序启动周期之间保留数据),则可以加载仅在ram中运行的模拟数据库(例如,使用简单的类对象和列表,而不是实际的数据库表)
在这两种情况下,您都可以启用初始化功能,在应用程序启动时填充数据。如果您只需要一个演示,您可以在项目中使用数据集 其中的数据可以导出为XML或从中加载 然后,您只需要发送一些使用应用程序生成并以XML格式导出的样板数据 用户单击load,将XML文件加载到数据集中并更新UI 如果要添加持久性功能,可以使用导出函数覆盖XML文件