Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 带有UWP应用程序的自托管SQL数据库(LocalDB)_C#_Sql_Sql Server_Uwp_Localdb - Fatal编程技术网

C# 带有UWP应用程序的自托管SQL数据库(LocalDB)

C# 带有UWP应用程序的自托管SQL数据库(LocalDB),c#,sql,sql-server,uwp,localdb,C#,Sql,Sql Server,Uwp,Localdb,我有一个UWP应用程序与SQL数据库一起工作,该数据库将很快发布到Microsoft应用商店。作为免费版本测试的一部分,我想让应用程序用户能够创建一种自托管数据库。自托管意味着我不需要用户安装应用程序本身以外的任何东西 预期行为 用户单击一个按钮(当UWP应用程序启动时),LocalDB实例将使用连接的数据库启动。用户从应用程序连接到此数据库,然后 约束 客户端计算机未安装LocalDB或SQLExpress 它不可能是另一个数据库系统(因为基础非常复杂,我不能为同一个应用程序维护不同的系统)

我有一个UWP应用程序与SQL数据库一起工作,该数据库将很快发布到Microsoft应用商店。作为免费版本测试的一部分,我想让应用程序用户能够创建一种自托管数据库。自托管意味着我不需要用户安装应用程序本身以外的任何东西

预期行为

用户单击一个按钮(当UWP应用程序启动时),LocalDB实例将使用连接的数据库启动。用户从应用程序连接到此数据库,然后

约束

  • 客户端计算机未安装LocalDB或SQLExpress
  • 它不可能是另一个数据库系统(因为基础非常复杂,我不能为同一个应用程序维护不同的系统),我知道SQLite就是为这个设计的,但它不适合我的需要
问题

  • 如何创建使用特定数据库启动LocalDB实例的包

  • 该软件包可以集成到UWP应用程序中吗

提前感谢您的帮助


我在网上找到了上千个主题,但只有在客户端计算机上已经安装了LocalDB的情况下才有这些主题。

假设您确实需要一个永久数据存储,我建议您对数据库连接使用依赖项注入,然后在演示模式下运行时,简单地用SQLite代替远程SQL交互。在这种情况下,您需要为您的应用程序包含一个Nuget软件包

如果您不需要永久数据存储(例如,希望在电源周期或应用程序启动周期之间保留数据),则可以加载仅在ram中运行的模拟数据库(例如,使用简单的类对象和列表,而不是实际的数据库表)


在这两种情况下,您都可以启用初始化功能,在应用程序启动时填充数据。

如果您只需要一个演示,您可以在项目中使用数据集 其中的数据可以导出为XML或从中加载 然后,您只需要发送一些使用应用程序生成并以XML格式导出的样板数据

用户单击load,将XML文件加载到数据集中并更新UI 如果要添加持久性功能,可以使用导出函数覆盖XML文件