同じマシン上の複数のアプリケーションが 1 つの同じデータベースにアクセスするソリューションを探しています。通常、操作は読み取りのみであるため、同時書き込みアクセスも提供する必要はありません。
SQL Server Express、SQL Server LocalDb、SQL CE、SQLite、MySQL を確認しましたが、どれが最適なソリューションであるか確信が持てません。SQL CE では同時読み取りアクセスが許可されているが、SQL Server LocalDb では許可されていないことを読んだことがあります。後でスケールアウトします。
それぞれが 5000 行未満のテーブルを 5 ~ 10 個管理するのが好きなので、非常に軽量なコンテンツです。
次の要件を満たすソリューションを探しています。
- 同じマシン上の複数のアプリケーションによる同時読み取りアクセス
- ある程度軽量化する必要があります。後でソリューション内のすべてのアプリケーションを別のマシンに移動するつもりであり、可能であれば 200 MB の本格的な SQL Server Ex@ress バージョンをインストールする必要はありません。
- VS2012 Express でうまく動作するはずです (sqlite と mysql は、EF5 をサポートしていないか、サーバー エクスプローラーに表示されないかのいずれかで、その点で非常にサポートされていません。
- Workbench、Management Studio、またはその他のサードパーティ アプリなどの管理コンソール内でデータベース テーブルを手動で更新するには、SQL ソリューションである必要があります。
- EF またはその他の ORM ソリューションである程度動作するはずです。エンティティ クラスを作成し、そこからデータベースを作成したり、クラス オブジェクトを使用してテーブルを更新したりしたいと考えています。また、SQL コードを使用せずに、テーブルの行からクラス オブジェクト コレクションを作成したいと考えています。
私は .Net 4.5 で C# をターゲットにしていますが、それは、SQL CE が同時読み取りを許可するタスクを実行できるかどうか、および CE データ テーブルをロードして、何らかの管理コンソールでコンテンツを編集および視覚化する方法についての質問に要約されると思います。また、SQL CE は EF5 とうまく連携しますか? より良い提案はありますか?