我正在使用Windows 8 Store App
和C#
XAML
和Visual Studio 2012
对SQLite
(地铁设计)进行编程。
不需要具有多用户支持等的数据库服务器。
我想将数据存储在本地数据库中,并且不知道哪个数据库适合我的需要。 也许{{1}}?或者是否有更适合Windows应用商店应用的解决方案,并且在Visual Studio中更好地集成?
该应用程序是一种日历,数据库应存储由日期,任务等组成的用户数据。
答案 0 :(得分:18)
答案 1 :(得分:11)
好的,这是一个很好的问题,我必须努力学习。默认情况下,WinRT应用程序无法直接访问任何类型的数据库结构。这意味着没有Express,Compact,CE,SQLite等。
有三种方法可以解决这个问题。不要使用数据库,而是使用存储和检索数据的本地文件结构。 XML非常适用于此,因为您可以维护数据库为您提供的许多相同功能。
第二个选项是使用IndexedDB。它类似于cookie样式的本地存储模型,其中文件保存在应用程序本地应用程序文件夹中。
第三个也是最后一个选项是使用Web服务。 WinRT确实可以访问互联网,这意味着您可以编写可以调用的API和Web服务。这意味着您需要运行连接到主数据库的服务器。当您的应用需要数据时,它会调用您的Web服务并获得所需内容。
总的来说,对于您所描述的应用程序,第一个选项可能最符合您的需求。将本地XML文件保存在apps文件夹中并从中读取/写入。
答案 2 :(得分:11)
SQLite 是用于Win 8应用程序的推荐数据库。 实现相同的链接
http://timheuer.com/blog/archive/2012/08/07/updated-how-to-using-sqlite-from-windows-store-apps.aspx
http://code.msdn.microsoft.com/windowsapps/Using-SQLite-Asynchronously-b8372137
https://visualstudiogallery.msdn.microsoft.com/23f6c55a-4909-4b1f-80b1-25792b11639e
答案 3 :(得分:2)
我的question被标记为此问题的副本(尽管它是关于C ++而不是C#)。我以为我还是应该在这里发表我的发现。 C ++应用程序有另一种选择:
Extensible Storage Engine (ESE)
商店应用程序可用的所有此类API的列表可在Jet {{p}部分的this link下找到。
答案 4 :(得分:1)
作为变体之一:
Devart LinqConnect for Metro - 一个功能齐全的高性能ORM解决方案,用于使用LINQ或ADO.NET开发Windows应用商店应用程序来访问数据。
http://code.msdn.microsoft.com/windowsapps/A-Simple-Windows-Store-85f29843#content
或下一个链接可用于