21

我正在Windows 8 Store App使用C#XAML使用Visual Studio 2012.

不需要具有多用户支持等的数据库服务器。

我想将我的数据存储在本地数据库中,但不知道哪个数据库适合我的需求。也许SQLite?或者是否有更适合 Windows 应用商店应用程序并更好地集成到 Visual Studio 中的解决方案?

该应用程序是一种日历,数据库应存储由日期、任务等组成的用户数据。

4

5 回答 5

18

WinRT 支持 SQLite。

http://visualstudiogallery.msdn.microsoft.com/23f6c55a-4909-4b1f-80b1-25792b11639e

于 2013-02-05T08:35:42.530 回答
11

好的,这是一个很好的问题,我必须努力学习。默认情况下,WinRT 应用程序至少不能直接访问任何类型的数据库结构。这意味着没有 Express、Compact、CE、SQLite 等。

有三种方法可以解决这个问题。不要使用数据库,而是使用存储和检索数据的本地文件结构。XML 可以很好地处理这个问题,因为您可以维护数据库提供给您的许多相同功能。

第二个选项是使用 IndexedDB。它类似于 cookie 样式的本地存储模型,其中文件保存在您的应用程序本地应用程序文件夹中。

第三个也是最后一个选项是使用 Web 服务。WinRT 确实可以访问 Internet,这意味着您可以编写可以调用的 API 和 WebServices。这确实意味着您需要运行一个连接到主数据库的服务器。当您的应用需要数据时,它会调用您的 Web 服务并获取所需的数据。

总体而言,对于您描述的应用程序,第一个选项可能最适合您的需求。在您的应用程序文件夹中保留一个本地 XML 文件并从中读取/写入。

于 2012-11-25T14:00:14.100 回答
2

我的问题被标记为这个问题的重复(尽管它是关于 C++ 而不是 C#)。我想我仍然应该在这里发布我的发现。C++ 应用程序还有另一种选择:

可扩展存储引擎 (ESE)

可在 Jet 部分下的此链接上找到所有此类可用于商店应用程序的 API 的列表。

于 2013-08-29T17:19:11.840 回答
1

As one of variant:

Devart LinqConnect for Metro – a fully-functional high-performance ORM solution for developing Windows Store applications using either of LINQ or ADO.NET to access data.

http://code.msdn.microsoft.com/windowsapps/A-Simple-Windows-Store-85f29843#content

or next link can be usefull to

http://social.technet.microsoft.com/wiki/contents/articles/18417.windows-store-app-with-a-sqlite-database.aspx

于 2014-02-11T20:34:38.903 回答