21

を使用してWindows 8 Store App(Metro Design)をプログラミングしています。C#XAMLVisual Studio 2012

マルチユーザーサポートなどを備えたデータベースサーバーは必要ありません。

データをローカルデータベースに保存したいのですが、どのデータベースが自分のニーズに適しているかわかりません。多分SQLite?または、Windowsストアアプリにより適したソリューションがあり、Visual Studioとの統合が優れていますか?

アプリは一種のカレンダーであり、データベースには日付やタスクなどで構成されるユーザーデータを保存する必要があります。

4

5 に答える 5

18

SQLiteはWinRTでサポートされています。

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

于 2013-02-05T08:35:42.530 に答える
11

わかりました、これは私が難しい方法を学ばなければならなかった素晴らしい質問です。デフォルトでは、WinRTアプリケーションは、少なくとも直接、どのタイプのデータベース構造にもアクセスできません。これは、Express、Compact、CE、SQLiteなどがないことを意味します。

これを回避する方法は3つあります。データベースを使用せず、代わりにデータを保存および取得するローカルファイル構造を使用してください。データベースが提供するのと同じ機能の多くを維持できるため、XMLはこれで非常にうまく機能します。

2番目のオプションは、IndexedDBを使用することです。これは、ファイルがアプリのローカルアプリフォルダーに保存されるCookieスタイルのローカルストレージモデルに似ています。

3番目の最後のオプションは、Webサービスを使用することです。WinRTはインターネットにアクセスできます。つまり、呼び出すことができるAPIとWebサービスを作成できます。これは、マスターデータベースに接続されているサーバーを実行する必要があることを意味します。アプリがデータを必要とする場合、アプリはWebサービスを呼び出し、必要なものを取得します。

全体として、説明しているアプリケーションの場合、最初のオプションがニーズに最も適している可能性があります。ローカルXMLファイルをappsフォルダーに保持し、そこから読み取り/書き込みを行います。

于 2012-11-25T14:00:14.100 に答える
11

SQLiteは、Win8Appsに使用することをお勧めするデータベースです。同じを実装するためのリンク

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

于 2013-03-12T09:28:07.840 に答える
2

私の質問は、この質問の複製としてマークされました(ただし、C#ではなくC ++に関するものでした)。私はまだここに私の発見を投稿するべきだと思いました。C++アプリには別の選択肢があります。

Extensible Storage Engine(ESE)

ストアアプリで利用可能なそのようなすべてのAPIのリストは、このリンクのJetセクションにあります。

于 2013-08-29T17:19:11.840 に答える
1

バリアントの1つとして:

Devart LinqConnect for Metro –LINQまたはADO.NETのいずれかを使用してデータにアクセスするWindowsStoreアプリケーションを開発するための完全に機能する高性能ORMソリューション。

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

于 2014-02-11T20:34:38.903 に答える