Window にデプロイされる小さなアプリケーションを作成しています。データベースには 10 個未満のテーブルがあります。
クライアント ボックスにデータベースをインストールする代わりに、データベースに XML ドキュメントを使用し、LINQ はクエリのパフォーマンスにコストがかかり、XML ファイルが読み込まれて書き込まれるのを待ちますか?
データベースを使用する場合は、LINQ to SQL を使用します。
Window にデプロイされる小さなアプリケーションを作成しています。データベースには 10 個未満のテーブルがあります。
クライアント ボックスにデータベースをインストールする代わりに、データベースに XML ドキュメントを使用し、LINQ はクエリのパフォーマンスにコストがかかり、XML ファイルが読み込まれて書き込まれるのを待ちますか?
データベースを使用する場合は、LINQ to SQL を使用します。
私はそれを避けます。個人的には、DB に SqlExpress などを使用するか、.mdb ファイルを使用します。問題は、その Xml ファイルが大きくなり始めたとき、または形式の変更 (つまり、テーブルの構造の更新) が必要になったときに発生し、PITA になる処理です。
SQLite やポータブル バージョンの SQL サーバーなどの組み込みデータベースを使用できます (名前を思い出せません)。その方法では、SQL と LINQ を引き続き使用できますが、データベース サーバーをインストールする必要はありません。
データベースルートを選択する場合は、それをお勧めします。主な理由の 1 つは、データベースを使用すると、さまざまな機能を簡単に実行できることです。これらの機能には、並べ替え、ページング、グループ化などが含まれます。また、OR マッパーの機能を使用してコーディングを簡素化し、非常に少ないコード行で永続化や検索操作を実現することもできます。
肝心なのは、データベースを使用することです。
MagicKatの答えへのいくつかの参照を追加します:
あまりポータブルではありませんが、無料で制限があります-
Microsoft JETは、Nirのコンパクトな要件により適しています。埋め込まれ(DLLとしてインストールされ)、DBを単一のファイル(.mdb)として移動できます。ウィキペディアの記事から、現在のバージョンはMicrosoftAccessEngineであることがわかりました。