質問

新しい Web アプリケーションを起動しています。このサイトは SQL Server に追加料金がかかるサービスでホストされる予定ですが、率直に言ってこのサイトにはそれほど多くのデータベースが必要ないと思います。現在、データ モデルは 5 つのテーブルです。そして、史上最大のテーブルに 10,000 件のレコードが含まれるとしたら、私は驚くでしょう。

したがって、db を軽量に保ちたいと考えています。 SQLite もともと私が興味を持ったのは、Android について学ぶ必要があったからです。しかし 外部キーが不足している 身がすくむ。確かに、外部キー制約のように見えるものを実装することは可能ですが、それは非リレーショナルに感じられます。 火の鳥 FK をサポートする唯一の軽量 (無料) データベースのようです。

また、このプロジェクトで LINQ に実際に足を踏み入れてみたいと思っています。今のところ私が見つけたのは dbLINQ これにより、LINQ で SQLite または Firebird を使用できるようになります。現在 v0.18 なので、ゴールデンタイムには程遠いです。dbLinq を使用して SQLite のテストを実行しましたが、必要なものに合格しました。

LINQ for SQLite の実装は他にも 1 つありましたが、私が見つけたリンクはすべて 404 で終わりました。

では、LINQ と互換性のある軽量データベースにはどのような選択肢があるのでしょうか?SQL Server のコンパクト エディションは、XCOPY で展開可能なものを除いて、すべてリリースされています。 エージェント/サービスのインストールなし?ホストが新しいソフトウェアをインストールするかどうかは疑わしいので、ホストに新しいソフトウェアのインストールを依頼することはできません。また、アプリには (ホスティングに関して) 移植性が高くなければなりません。

これまでのリスト:

  • SQLite
  • 火の鳥
  • SQL Server コンパクト
  • VistaDB

アップデート: すべてのバージョンを試してみましたが、 ここに感想を書きました. 。短いバージョン:SQLite は断然勝利します。これは、優れた GUI を備え、インストールのフットプリントがなく、無料である唯一のものです。

役に立ちましたか?

解決 4

SQLite。優れた GUI (auto-freakin-complete を備えたもの) があり、インストールのフットプリントがなく、無料で、Web サイトをホストしている場所に関係なく動作します。私が自分自身の質問に答えていることはわかっていますが、他の誰も返信に SQLite だけを入れていません。

重要:SQLite を共有ホスティングで実行する場合は、完全信頼モードを使用する Web ホストが必要です。

他のヒント

あなたはあまりにも長い間、あなたが標準IDbConnectionオブジェクトを作ることができるよう、既存のデータベース上にあるとしてSQLにLINQを使用することができます。

ここでFirebirdのDBにLINQを使用するために、いくつかのコードです。

DbProviderFactory dbProvider = DbProviderFactories
    .GetFactory("FirebirdSql.Data.FirebirdClient");

DbConnection connection = dbProvider.CreateConnection();
connection.ConnectionString = "some connection string";

DataContext linqContext = new DataContext(connection);

var query = from something in linqContext.GetTable<SomeType>() 
            select something.someproperty;

SQL ServerのCompact Editionは( http://en.wikipedia.org/wiki/SQLCE)LINQと他のすべてのVSのツールをサポートし、VS 2008に組み込まれ、FKSをサポートし、XCOPYは、データベースのフラットファイルで展開可能です。ビューまたはネストされたクエリのようなものの多くは倒れ、それは同様の注意点がないわけではないということ、しかし注意して、あなたは非常に大きなデータベースのサイズ(すなわち50メガバイト+)を取得開始した場合、それはかなり肥大化することができます。

SQLiteのもあるの多くのの、より良いあなたがここにSQLiteの.NETプロバイダを使用している場合(ます。http: //sqlite.phxsoftware.com/ の)だけでなく、LINQで動作し、基本的なVSをサポートしています。

私はあなたが VistaDB のを見てお勧めします。これはあなたはそれことSQLCEとSQLiteの上で追加の利点を持つためを探しているんでしょう正確に何をビュー、ストアドプロシージャとトリガをサポートしています。あなたはSQL Serverと.NETの知識を活用することができますので、実際のところ、それは、TSQLでのプロシージャとトリガの書き込みだけでなく、.NETをサポートしています。

SQL Server Expressの

VistaDBが唯一の選択肢であるあなたは、共有ホスティングであなたのウェブサイトを実行するつもりならば、あなたは単純Xコピー導入対応のWebサイトが必要な場合も(ほとんどすべてのあなたは完全信頼モードであなたのウェブサイトを実行できません)と。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top