3

私は最近、Entity Framework (EF) の短所について詳しく話しているポッドキャストを聞いていました。

しかし、彼らの意見は、私が収集できるものから、(私が) 一粒の塩で受け取る必要があるかもしれません:

  • 彼らは ORM の専門家でした。
  • 彼らはORMツールか趣味で生計を立てていました
  • 彼らは大規模なアプリケーションに ORM ツールを使用していました
  • 彼らはまた、私が必ずしも関心を持っていない ALT.NET の超戦術にも非常に関心を持っていました (まだ)。

私の全体的な質問は次のとおりです。

  • 現在、Entity Framework はどのような種類のプロジェクトに適していますか?

しかし、私がその質問でどこに向かっているのかを理解するのに役立つかもしれないいくつかのサブ質問があります:

  1. EF は何もないよりも優れていますか? 私はすべてを手作業で行うのにうんざりしています。
  2. LINQ to SQL と同様に「同じ問題を解決する」ことに近づいていますか? 2a. はいの場合、一方が他方より適しているのはいつですか? *このタグが付いた質問を調べていたときに、この質問に関するスレッドを見つけたので、気にしないでください *
  3. 大量の管理用 CRUD フォームなど、単純な「クイック アンド ダーティ」アプリケーションに適していますか?

編集: 好奇心旺盛な人のために、私は主に小規模から中規模のアプリケーションに取り組んでいます。それはあなたの反応を導くことができるかどうか。

4

1 に答える 1

1

Entity Framework は、ORM レイヤーを持つことでメリットが得られるすべてのアプリケーションに適しています。Daniel Simmons の投稿では、これについて詳しく説明しています。 http://blogs.msdn.com/dsimmons/archive/2008/05/17/why-use-the-entity-framework.aspx

Entity Framework は多くの点で Linq for SQL に似ていますが、Linq for SQL である MS SQL Server とは関係ありません。さらに、EF は、ビジネス/ドメイン オブジェクトとデータ テーブルの間のより柔軟なマッピングをサポートします。Linq for SQL はより多くの 1 対 1 のマッピングをサポートしていますが、EF は単一のオブジェクトを複数のテーブルに、または単一のテーブルを複数のオブジェクトにマッピングする機能をサポートしています。両方でまともなデザイナーのサポートがあります。

オープン ソースの世界では、NHibernate はおそらく最も先進的であり、多くの点でより成熟した製品です (確かに、いくつかの点でより幅広い機能をサポートしています)。しかし、EF を使用すると、MS の完全なサポートと、ビジュアル スタジオ ツールセットおよび .net フレームワーク スタックへの緊密な統合が得られます。執筆時点では、EF は NH よりも優れた Linq プロファイダーでもあります。

MS SQL Serverとマッピングの制限に耐えることができる場合、迅速で汚いアプリケーションの場合、正直に言うとLinq for SQLに傾倒します。

より複雑なアプリケーションの場合、EF または NHibernate を使用します。

私が EF で行った信任投票に興味があるかもしれません http://blog.keithpatton.com/2008/06/24/A+Vote+Of+Confidence+For+The+Entity+Framework.aspx

于 2008-10-07T04:00:50.897 に答える