我可以在 XAP 中包含一个数据库,还是应该在初始加载时为 Windows Phone 7 应用程序创建数据库?

Posted

技术标签:

【中文标题】我可以在 XAP 中包含一个数据库,还是应该在初始加载时为 Windows Phone 7 应用程序创建数据库?【英文标题】:Can I include a database in the XAP, or should I create the database on initial load, for a Windows Phone 7 application? 【发布时间】:2012-08-11 13:45:40 【问题描述】:

我有一个当前使用文本文件数据的 Windows Phone 7.1 应用程序。在这一点上,我想看看我的查询在使用数据库时的执行情况。

这是第一个用户不会写入任何数据的应用程序,而是一些预定义的查询将提取他们请求的数据。

过去我在应用程序第一次启动时创建了数据库。在这种情况下,由于我有他们需要的数据,我想知道我是否可以创建数据库(WP7.1,所以我将使用 SQL Server Compact Edition)并将其包含在 XAP 中。

我见过How to add an existing database file into my windows phone 7 app and read data from it?,它让我找到How to: Deploy a Reference Database with a Windows Phone Application,其中有一个重要说明:

在桌面上创建的 Microsoft SQL Server Compact (SQL CE) 数据库可以与 Windows Phone 应用程序一起使用,但不受官方支持。

我应该只包含在加载应用程序时将加载到数据库中的数据文件,就像我为我的 CRUD 应用程序所做的那样,还是可以安全地包含我在开发过程中创建的数据库?

【问题讨论】:

我从未听说任何拉丁语开发人员在包含数据库时遇到问题。 @ErikEJ,对不起,我想我没有得到你的评论。 如我的博文中所述,您可以嵌入数据库,也可以用于读/写,并且只听说开发人员在非拉丁语言桌面操作系统上创建数据库时会遇到问题。 【参考方案1】:

在继续深入研究之后,我发现了 Jerry Nixon 的 Mango 数据库系列,特别是 Mango Sample: Database Part 2:2。

我发现他实际上把步骤布置得更完整了。

第 1 步:创建数据库

第 2 步:构建架构和默认数据

第 3 步:在项目中包含数据库

第 4 步:使用 SqlMetal 生成实体

第 5 步:清理数据上下文

最后一步包括有关移动数据库的信息。

【讨论】:

【参考方案2】:

在 *** 上查看上一个问题。这已经在这里回答了

Windows Phone 7 databases

总结这个答案,是的,您可以在应用程序中包含预填充的 DB 文件,但它是只读的,请查看这些博客文章,它清楚地解释了如何实现这一点 -

http://blog.arsanth.com/?p=343

http://erikej.blogspot.com.au/2012/01/windows-phone-local-database-tip.html

谢谢

【讨论】:

是的,我没有通过 Google 或 SO 的搜索找到这个问题,我并不感到惊讶。标题太少了:) 我看过 Erik 的博客几次(搜索和其他 SO 问题一直把我带到那里),虽然我没有看到那个,但这并不是我所希望的。实际上,他在最后一段中说他提供了选项的“概述”。

以上是关于我可以在 XAP 中包含一个数据库,还是应该在初始加载时为 Windows Phone 7 应用程序创建数据库?的主要内容,如果未能解决你的问题,请参考以下文章

我应该在多个表中包含 user_id 吗?

如何在 WAR 文件中包含 Hsql 数据库?

你能在标题中包含太多变量吗?

浏览器显示 jpeg 的原始图像数据。我应该确保在响应中包含哪些标题?

在 Vue 项目中包含或初始化 jQuery 库的最佳方法是啥?

在执行 K 折交叉验证后,我们如何在初始数据集/数据帧中包含预测列?