【问题标题】:Which local database is suitable for Windows 8 Store Apps?哪个本地数据库适合 Windows 8 应用商店应用?
【发布时间】:2012-11-25 12:39:39
【问题描述】:

我正在使用C#XAML 使用Visual Studio 2012Windows 8 Store App(地铁设计)进行编程。

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

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

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

【问题讨论】:

  • 这个问题是使用术语 windows app local database 搜索 Bing 时的第一个结果。看起来接受的答案已经过时,因为现在支持 sqlite。也许答案应该改变?
  • 感谢您的提示。我改变了接受的答案!

标签: c# database sqlite visual-studio-2012 windows-store-apps


【解决方案1】:

【讨论】:

  • 如果使用 SQLite,每个版本的 Windows 应用商店应用程序是否必须提交对应于 x86、x64 和 ARM 的三个包?它似乎不支持“任何 CPU”。
  • 由于SQLite是原生组件,不能选择AnyCPU。但是,您可以为同一个应用创建三个(x86、x64 和 ARM)应用包并一次上传到应用商店。
【解决方案2】:
【解决方案3】:

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

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

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

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

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

【讨论】:

  • 好的,我想我会用 xml 的方式来做。 Json.NET 看起来很有趣http://json.codeplex.com/
  • 如果对象在我的应用程序的未来版本中发生了变化,会发生什么情况?我还能将旧的 json 文件反序列化为更新的数据对象吗?
  • 支持 SQLite 并且有一个用于 Windows 运行时的扩展 SQLite
  • 您应该明确指出,即使操作系统不提供 SQLite,但很容易链接到您的应用程序。
  • 我问了一个关于在 C++ 中做同样事情的问题,并且非常莫名其妙地被标记为这个问题的副本。我的问题在这里:stackoverflow.com/questions/18500763/…
【解决方案4】:

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

Extensible Storage Engine (ESE)

可在 this link 的 Jet 部分下找到所有可用于商店应用的此类 API 的列表。

【讨论】:

    【解决方案5】:

    作为变体之一:

    Devart LinqConnect for Metro – 一个功能齐全的高性能 ORM 解决方案,用于开发使用 LINQ 或 ADO.NET 访问数据的 Windows 应用商店应用程序。

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

    或下一个链接可能对

    有用

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-16
      相关资源
      最近更新 更多