web-dev-qa-db-ja.com

Windows 8ストアアプリに適したローカルデータベースはどれですか?

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

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

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

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

21
Simon Schürg
11
Manvik
18
Ercan Özdemir

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

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

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

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

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

11
Jammin411

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

Extensible Storage Engine(ESE)

ストアアプリで使用できるこのようなすべてのAPIのリストは、 このリンク セクションJetの下にあります。

2
Raman Sharma

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

Devart LinqConnect for Metro –LINQまたはADO.NETのいずれかを使用してデータにアクセスするWindowsストアアプリケーションを開発するための完全に機能する高性能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

1
gbk