7


1

ORM市場分析

NHibernate、LLBLGen、EF、S2Q、Genom-e、LightSpeed、DataObjects.NET、OpenAccessなどの人気のあるORMツールを使用した体験をここからご覧ください。

私の経験から:-Genom-eはLinqとパフォーマンス、開発サポートを静かに実行できます-EFは遅延ロード、Pocoサポート、pers.ignoranceなどの主要な機能を欠いています…​ しかし、4.oでは克服できたかもしれません.. -これまでのところ、DataObjects.Netにはいくつかのバグが見つかりました。NHibernateの急な学習曲線、100%Linqのサポートはありません(Genom-eやDataObjects.Netのような)が、非常に支援的で、拡張可能で成熟

3 Answer


5


THatは、現時点で見つけられる最高の比較です。

私の経験から、ところで:LINQに興味があるなら、NHibernateの現在のリリースから離れてください-開発ブランチを使用してください。 LINQサポートはメインDLLへのmvoesであり、さらに重要なことは、現在のリリースの制限付きアドオンメソッドよりもはるかに優れており、完全です。


2


2年前(2010年)にNHibernate、EF、およびLlblgenの間で非常に詳細な分析を行い、最後の分析を選択しました。 私たちは間違いなく正しい決断をしたと思います。

Llblgen Proはゴージャスで成熟したORMです(Entity FWはまだ進化する必要があります:直接m:n、enum、継承…​)。 最初にXMLを使用せずにモデルとデータベースの両方を簡単に使用でき、優れたグラフィカルデザイナーです。

  • 非常に効率的:必要な列のみを取得…​ またはTypedListを使用します 一般的に使用される結合/グループ化された列を取得するには…​ またはTypedViewsでビューをマップするか、検索ストアプロシージャをマップするか、またはアドホッククエリを使用します。 独自のPOCO(TypeValue)をマッピングするテンプレートを作成して、SQLを直接呼び出すこともできます!!! (ここまで行く必要はありませんでした)

  • デザイナーから、独自のフレームワーク、またはNHibernateまたはEntityを使用します フレームワーク、またはLINQ to SQL

  • 入ろうと決めたら見逃してしまうかなりの機能 プロダクション(プリフェッチ、トランザクション、データバインディングヘルパー、ページング、(デ)シリアル化、カスタマイズ(プロパティ、依存性注入、承認、監査、…​)

…​but it is much more: a great model designer & template system.

ORMから:

  • カスタムテンプレートの適切な使用(例: ASP.Net、MVC、REST、またはWCF) 足場システム/共通アーキテクチャを提供します→経験の浅いコーダーが追いつき、より生産的になります。 一般的なソリューションは再利用されます(コストが下がります:「コード対。 「理解して統合する」が「コード対 プラグ")。 昔ながらのASP.Net Webフォームではhttp://northwind.angte-demo.com/を見て、テンプレートで何が得られるかを感じてください。

  • 通常どおり、VSの特定のアプリケーションのコードを作成します。 コードが コードをテンプレートに再利用可能に追加します(通常、ASPライクなファイルで「Product」のようなものを「<%= Entity.Name%>」で変更します。ハードスタッフではありません)。