9

私はこの小さなユーティリティ プログラム (Windows フォーム) を作成していますが、ディスクに少しのデータを保存する必要があります。DB 用語では、約 1 つのテーブルで、約 2,000 行以下で、各行のサイズは 1KB 未満です。

何を使いますか?

追加:言い忘れましたが、プログラム全体が 1 つの .EXE ファイル (およびもちろんデータ ファイル) になれば、実にすばらしいことです。したがって、私は .NET に組み込まれているものを好みます。

4

14 に答える 14

23

SQLite .これは小さく、.Net の優れたラッパーを備えています。

于 2009-10-16T13:36:07.600 に答える
10

または、ウィンドウのすべてのコピーに存在する組み込みデータベースである Esent があります。ここでそれについて読んでください:http://ayende.com/Blog/archive/2008/12/23/hidden-windows-gems-extensible-storage-engine.aspx

勇気があるなら、簡単なドキュメント db PieDbをまとめました(「easy as」のように)。

于 2009-10-16T13:40:25.047 に答える
8

SQL Server Compact Edition (Visual Studio で提供) またはSQLiteを使用できます。

他にもたくさんありますが、これらは最も一般的なものです。

私は SQLite の大ファンです。小さくてシンプルで高速だからです。Entity Framework をサポートする素晴らしいADO.NET プロバイダーがあります。

于 2009-10-16T13:36:20.557 に答える
4

単一のテーブルについて話している場合、目標を達成するためにリレーショナル データベースを使用する必要があると感じる理由がよくわかりません。単一のファイルはどうですか?

当然のことながら、情報を保存する必要がある理由と、データの関連付け方法によっては、データベースが必要になる理由があります。ただし、この場合、DB が実際に必要なものであるかどうかを検討する必要があります。

リレーショナル データベースは、データを格納するためのデファクト スタンダードであってはなりません。RDBMS を選択する前に検討すべき選択肢は数多くあります。

たとえば、mcintyre321 の投稿を参照してください。

于 2009-10-16T13:56:29.120 に答える
3

組み込み DB を使用することに決めた場合は、SQL Server Compact Edition がおそらく最善の策であり、それに続くのが SQLite です。

1 つのテーブルについて話している場合、埋め込み DB はやり過ぎのように思えますが、単純なテキスト ファイルの方が適切に機能する可能性があります。

于 2009-10-16T13:39:23.483 に答える
3

クラスの配列を作成し、[Serializable] とマークして、永続化のために組み込みのシリアライズ/デシリアライズ メソッドを使用するだけです。

于 2009-10-16T14:54:23.053 に答える
2

私は SQLite に賛成票を投じます。SQL Server CE は、中央データベースとの簡単な同期が必要でない限り、埋め込み目的には重すぎます。それなら素晴らしいことです。

于 2009-10-16T13:41:10.710 に答える
1

Berkeley DBは組み込みデータベースにも適しています。また、.NET 2.0 インターフェイスを提供するライブラリもあります。

于 2009-12-15T15:57:02.903 に答える
1

SQLite の .NET ポートはhttp://code.google.com/p/csharp-sqlite/にあります。これは純粋な .NET であるため、単一の .exe に ILMerge できます

于 2009-10-16T13:38:31.417 に答える
1

小さくて単純なものについては、おそらく XML を使用し、データベースは使用しません。CRUD コードを抽象化すると、後でコードのデータ層部分を変更して、データのサイズと複雑さが増したときにデータベースを使用することができます。

于 2009-10-16T13:56:39.520 に答える
1

同じ問題を調査したら。考えられるすべての候補の中から、2 つが良さそうに見えました。これらは SQLite と Firebird (firebirdsql.org) です。しかし、firebird には SQLite よりも多くの機能がありました。

UPD: Firebird+dotnet に関する興味深い情報http://www.firebirdsql.org/dotnetfirebird/embedded/index.html

于 2009-10-16T15:47:43.917 に答える
0

サイズを最小限に抑えるために、SQL Lite または deflate ライターを使用した単純な XML ファイルを 2 番目に使用します。迅速でそれほど汚れていません。

于 2009-10-16T18:08:27.920 に答える
0

これを試してください: https://github.com/mdsoftware/mData。サードパーティはなく、すべてのソースが含まれており、Lisp のようなデータ処理や式コンパイラなどの優れた機能も含まれています。私は本当にシンプルだが機能的なものを作ろうとしました.

于 2013-05-20T12:14:19.343 に答える
0

SQL 互換データベースである必要がない場合は、Db4o も検討します。Db4o は、Java および .NET 用のオブジェクト データベースです。.NET バージョンは完全に C# で記述されています。

于 2009-10-16T14:24:14.317 に答える