6

組み込みデータベースを使用して格納したいオブジェクト モデルがあります。これまでのところ、db4o、NHibernate to SQLCE (w/linq)、および RavenDB を見てきました。これは、デスクトップ C# アプリケーションで使用されます。

私が活用しようとしている主な機能は次のとおりです。クエリ用のLinqまたは同様のもの(SQLまたはHQLなし)、組み込みデータエンジン、pocos、pocoファーストモデル、インストールなし(レジストリなどなし)

誰でも提案できますか?私が見ている3つは最良の選択ですか?他のオプションはありますか?3 つのうち、どれかを推奨できる人はいますか?

ありがとう

4

3 に答える 3

10

提案された3つのデータベースは、その性質が大きく異なります。RDBMSとしてHibernateをORMとして使用し、db4oをオブジェクトデータベースとして使用し、RavenDBをドキュメントデータベースとして使用するSQLCE。それぞれに長所があります。

SQL CE&NHibernate-コンボ 良い点:

  • ツール、知識、大きなコミュニティでの非常に優れたサポートがあります
  • MSSQLサーバーへのアップグレードが簡単
  • 極限の優れたレポートサポート
  • SQLの力

悪い人:

  • マッピングが必要
  • OOとリレーショナルワールドの間のマッピングは簡単ではなく、複雑なモデルで問題が発生する可能性があります。

RavenDB

いいもの:

  • マッピングは必要ありません
  • 使いやすい
  • 強力なインデックス作成
  • JSONとHTTPアクセス

悪い人:

  • ドメインがドキュメント指向のアプローチに適合しない場合、それは非常に苦痛になります
  • .NET Frameworkクライアントプロファイルをサポートしていません(OPの質問は組み込みデータベースに関するものであるため、これは特に重要です)

db4o

いいもの:

  • マッピングは必要ありません
  • 使いやすい
  • ストレージモデルはオブジェクトモデルに近いです。これは、非常に複雑なモデルでも機能します。
  • -

悪い人:

  • ツーリングのサポートは弱いです。

Afaikは3つすべてがLINQとPOCOファーストのアプローチをサポートしています。ただし、NHibernateとSQL CEにはまだ大量のマッピングが必要なため、摩擦がないわけではありません。

POCOファースト、LINQサポート、組み込みの使用法、使いやすさに焦点を当てている場合は、RaveDBまたはdb4oを試してみます。「安全性」、コミュニティの知識、ツールのサポート、およびレポートに焦点を当てている場合は、NHibernateとSQLCEを使用します。

于 2010-08-31T13:53:59.050 に答える
3

Firebirdは、エンタープライズ データベースのすべての最新機能を長い間サポートしてきた素晴らしい組み込みデータベースです。

  • ANSI SQL
  • ストアド プロシージャ
  • トリガー

.NET プロバイダー(サイトによると最終更新日は 5 月 24 日)を入手でき、Entity Framework と Linq をサポートしています。

于 2012-09-09T13:40:13.267 に答える
0

この質問を参照してください。LINQ のサポートについては、 DbLinqを確認してください。または、既に NHibernate を使用する予定がある場合は、NHibernate 独自の LINQ プロバイダーを使用できます。

于 2010-08-27T01:15:17.457 に答える