これらの要件に最適なORMは何ですか

.net c# orm
これらの要件に最適なORMは何ですか

今後のプロジェクトに適したORMを探しています。

データベースには約1000〜1200のテーブルがあり、SQL ServerとOracleの両方にあり、顧客の企業のニーズに応じて使用されます。 また、プロジェクトの一部はWCFサービスで動作します。 デザイナーかそのようなものが欲しい。 LINQの良好なサポート。 許容可能なパフォーマンス。

DataObjects.Netを試しましたが、デザイナーはいません。 すべてのテーブルをコーディングすることも、コードジェネレーターを使用することもできません。 また、DataObjects.Netがデータベースの切り替えをサポートしているかどうかはわかりません。 また、私はEF4に精通していますが、両方のデータベースを一緒にサポートすることはできず、データベースを手動で切り替える(edmxファイルを変更する)のは非常に苦痛です…​ メンテナンス作業用。

前もって感謝します。

編集:http://www.telerik.com/products/orm.aspx[OpenAccess]とhttp://www.llblgen.com/[LLBLGEN Pro]にはデザイナーがいるようですが、経験はありません。

  6  1


ベストアンサー

私はまだEntity Framework v4-EF4に投票します。

結局:

  • 複数のEDMXファイルを使用できますが、問題はありません-1つはSQL Server用、もう1つは
    Oracle向け

  • それらを独自のクラスライブラリに入れてからロードするか、または
    必要に応じて、実行時にもう一方、または両方(例: http://mef.codeplex.com [Managed Extensibility Framework]または独自のものを使用して)

  • 接続を使用して、これらのEDMXファイルをデータベースで簡単にターゲットにできます。
    文字列-本当に難しくない

7


この情報があれば、http://nhibernate.org [NHibernate](および/またはhttp://fluentnhibernate.org/[fluent-nhibernate])を調べることをお勧めします。

調べなければならない項目はパフォーマンスです。 これは、アプリケーションの性質に大きく依存します。 1,000から1,200のテーブルは膨大に聞こえるので、決定を確定する前に(他のすべてのテストに加えて)多数の意味のあるパフォーマンステストを確実に実行することをお勧めします。

編集:実際には、NHibernateのより良い出発点はhttp://nhibernate.info [nhibernate.info]です(ありがとう、Justin!)。

2


OpenAccessもあなたのために仕事をすることができます。 あなたは複数を使用することができます
.rlinq files and assembly-per-database approach as suggested with Entity
フレームワーク このようなプロポーションのソリューションを開発している間に、1つまたは2つのロックをヒットする可能性が非常に高いため、Telerikから得られるサポートが得られると思います。

2


NHibernateもお勧めしますが、それを研究する場所は間違いなくNHForgeです。

高レベルの機能の概要は次のとおりです(LINQを含む)。

LLBLGen Proを含むいくつかのデザイナーが利用可能です。

NHibernate 3は現在アルファ版ですが、すでにいくつかの場所で本番環境で使用されていることを知っています。 それが新しいプロジェクトに行く最良の方法かもしれません。

1


ORMとデザイナーツールを個別に選択する必要があると思います。 たとえば、EFとLLBLGEN、またはNHibernateとCodeSmith、またはNHibernateとLLBLGENなどを使用します。

1


タイトルとURLをコピーしました