3

嗨,我正在开发一个 Metro 风格的应用程序,我将在其中连接到 Web 服务并从 Web 服务获取数据,并将其绑定到 UI。

但是我的要求是在我的应用程序中我需要创建表并提供表之间的关系并将数据转储到该本地数据库中并使用该数据调用我的服务应用程序中存在的其他方法(通过传递一些东西作为输入)。

您能否向我解释以下内容:-

Metro 风格应用程序支持的数据库是什么?

如何创建数据库并创建表并转储作为服务应用程序响应的数据?

我是 Metro 风格应用程序开发的新手,请帮帮我。

提前致谢。

4

4 回答 4

3

首先,WinRT 对数据库的支持很差。大多数此类事情是由 Web 服务、OData 等完成的

但我几乎 100% 确定您可以使用 SQLite。在 codeplex 上有从 Win8 Metro 应用程序到 SQLite DB 的连接器,因此请查看此主题。我还在 MS 页面的某处看到 SQLite 在某种程度上得到了支持。核实

于 2012-07-18T08:42:06.297 回答
2

Fixus 说的是对的。就个人而言,由于我的应用程序没有大量数据要在本地存储(它违反 Metro 准则来存储大量数据)我将对象序列化而不是本地存储。需要时,如果互联网可用,将调用服务并更新本地数据。

如果您选择使用 SQLlite,请确保您使用的是真正的交易而不是第三方数据库,因为如果您想让应用程序被 Windows 商店接受,数据库库必须得到 Microsoft 的批准。我什至不确定 SQLite 是否已获得批准,但从表面上看,它们将是。

Tim Heuer 总是写关于这个主题的精彩文章,这篇文章可能会对你有所帮助

如果您需要有关在 WinRT 中进行序列化的帮助,请告诉我。

祝你好运!

于 2012-07-18T09:41:10.207 回答
0

我们建议使用带有LinqConnect的 SQLite 数据库- Devart 的 LINQ to SQL 兼容解决方案,它支持 SQLite 引擎(由http://code.google.com/p/csharp-sqlite/提供)。您可以在我们的产品中使用 LINQ 和 ADO.NET 接口。从 4.0 版本开始,LinqConnect 支持 Windows Metro 应用程序:http: //blogs.devart.com/dotconnect/linqconnect-for-metro-quick-start-guide.html

于 2012-07-20T13:36:50.047 回答
0

如果您要构建的应用程序必须在没有任何网络连接的情况下继续工作,并且需要在某个时间点进行同步,则有必要保留一个本地数据库。

您可以阅读以下文章,其中包含一些基本指南和示例。

http://blogs.msdn.com/b/win8devsupport/archive/2013/01/10/using-database-in-windows-store-apps-i.aspx

于 2013-05-08T11:53:56.960 回答