私はこの小さなユーティリティ プログラム (Windows フォーム) を作成していますが、ディスクに少しのデータを保存する必要があります。DB 用語では、約 1 つのテーブルで、約 2,000 行以下で、各行のサイズは 1KB 未満です。
何を使いますか?
追加:言い忘れましたが、プログラム全体が 1 つの .EXE ファイル (およびもちろんデータ ファイル) になれば、実にすばらしいことです。したがって、私は .NET に組み込まれているものを好みます。
私はこの小さなユーティリティ プログラム (Windows フォーム) を作成していますが、ディスクに少しのデータを保存する必要があります。DB 用語では、約 1 つのテーブルで、約 2,000 行以下で、各行のサイズは 1KB 未満です。
何を使いますか?
追加:言い忘れましたが、プログラム全体が 1 つの .EXE ファイル (およびもちろんデータ ファイル) になれば、実にすばらしいことです。したがって、私は .NET に組み込まれているものを好みます。
SQLite .これは小さく、.Net の優れたラッパーを備えています。
または、ウィンドウのすべてのコピーに存在する組み込みデータベースである Esent があります。ここでそれについて読んでください:http://ayende.com/Blog/archive/2008/12/23/hidden-windows-gems-extensible-storage-engine.aspx
勇気があるなら、簡単なドキュメント db PieDbをまとめました(「easy as」のように)。
SQL Server Compact Edition (Visual Studio で提供) またはSQLiteを使用できます。
他にもたくさんありますが、これらは最も一般的なものです。
私は SQLite の大ファンです。小さくてシンプルで高速だからです。Entity Framework をサポートする素晴らしいADO.NET プロバイダーがあります。
単一のテーブルについて話している場合、目標を達成するためにリレーショナル データベースを使用する必要があると感じる理由がよくわかりません。単一のファイルはどうですか?
当然のことながら、情報を保存する必要がある理由と、データの関連付け方法によっては、データベースが必要になる理由があります。ただし、この場合、DB が実際に必要なものであるかどうかを検討する必要があります。
リレーショナル データベースは、データを格納するためのデファクト スタンダードであってはなりません。RDBMS を選択する前に検討すべき選択肢は数多くあります。
たとえば、mcintyre321 の投稿を参照してください。
組み込み DB を使用することに決めた場合は、SQL Server Compact Edition がおそらく最善の策であり、それに続くのが SQLite です。
1 つのテーブルについて話している場合、埋め込み DB はやり過ぎのように思えますが、単純なテキスト ファイルの方が適切に機能する可能性があります。
クラスの配列を作成し、[Serializable] とマークして、永続化のために組み込みのシリアライズ/デシリアライズ メソッドを使用するだけです。
私は SQLite に賛成票を投じます。SQL Server CE は、中央データベースとの簡単な同期が必要でない限り、埋め込み目的には重すぎます。それなら素晴らしいことです。
Berkeley DBは組み込みデータベースにも適しています。また、.NET 2.0 インターフェイスを提供するライブラリもあります。
SQLite の .NET ポートはhttp://code.google.com/p/csharp-sqlite/にあります。これは純粋な .NET であるため、単一の .exe に ILMerge できます
小さくて単純なものについては、おそらく XML を使用し、データベースは使用しません。CRUD コードを抽象化すると、後でコードのデータ層部分を変更して、データのサイズと複雑さが増したときにデータベースを使用することができます。
同じ問題を調査したら。考えられるすべての候補の中から、2 つが良さそうに見えました。これらは SQLite と Firebird (firebirdsql.org) です。しかし、firebird には SQLite よりも多くの機能がありました。
UPD: Firebird+dotnet に関する興味深い情報http://www.firebirdsql.org/dotnetfirebird/embedded/index.html
サイズを最小限に抑えるために、SQL Lite または deflate ライターを使用した単純な XML ファイルを 2 番目に使用します。迅速でそれほど汚れていません。
これを試してください: https://github.com/mdsoftware/mData。サードパーティはなく、すべてのソースが含まれており、Lisp のようなデータ処理や式コンパイラなどの優れた機能も含まれています。私は本当にシンプルだが機能的なものを作ろうとしました.
SQL 互換データベースである必要がない場合は、Db4o も検討します。Db4o は、Java および .NET 用のオブジェクト データベースです。.NET バージョンは完全に C# で記述されています。