私は、小規模から中規模の Web ベースのプロジェクトを開発する開発会社で働いています。主に Microsoft テクノロジを使用しています。現在、テクノロジの選択段階にあり、ORM を検討しています。将来のために標準の ORM を選択する必要があります。プロジェクト、今のところ、選択を2つに絞り込みました: -
• 冬眠: -
- 成熟した。
- オープンソース。
- 機能豊富。
- 構成可能で柔軟性があり、最高の拡張が可能です。
- 強力なコミュニティによって十分にサポートされています。
- 多くの場所で成功することが証明されています。
• EntityFramework : -
- マイクロソフト製品。これは、他の Microsoft 製品との緊密な統合を意味します。
- 高度にサポートされ、オンラインで豊富なリソースがあり、オンラインでかなり強力なコミュニティがあります。
- 非常に急速に進化し、修正も非常に速く行われ、日々改善されています。
- リンク。
- Nibernate よりも低い学習曲線。
技術は、それぞれ以下に従って測定されます。
- 使いやすさ - 私たちのプロジェクトでは、時間が非常に重要です。
- 長期的な決定です。つまり、テクノロジー間で移行を続けるつもりはないということです。
- Microsoft 製品との統合。
- コンプライアンス ツール (Nhibernate の activerecord など)、コミュニティ、およびリリースに関するサポート。
- これが、私たちが使用する唯一の基準になります。
- 構成の柔軟性。
- 機能 - 多くの複雑なマッピングや第 2 レベルのキャッシュは必要ありません。今のところ、バッチ処理を SP に置き換えることができます。
私の質問Nhibernate に対して Entity Framework を選択した場合、ORM の将来のデフォルト実装として、長期的にはそのような決定の長所と短所は何ですか?
これについて誤解しないでください。当面は Nhibernate が正しい答えであることはわかっていますが、EntityFramework の急速な進化を考慮すると、近い将来、あるいは遠い将来の正しい選択になるのでしょうか。
私が研究で頼ったリソースのいくつか: -
http://ayende.com/blog/4351/nhibernate-vs-entity-framework-4-0
NHibernate、Entity Framework、アクティブ レコードまたは linq2sql
http://blogs.msdn.com/b/adonet/archive/2012/03/22/ef5-beta-2-available-on-nuget.aspx