歴史的に私は、最も基本的なアプリケーション以外のすべてでORMSの使用に完全に反対してきました。ORMの現在の状態は何ですか?
私の推論では、これは非常に漏れやすい抽象化であることが主な理由でした。主にSQLは、ORMによって大抵が乱されるような、リレーショナルソースからデータを取得する非常に強力な方法を提供するためです。リレーショナルバックエンドを持たない外観を得るためのパフォーマンス。
私はいつもデータは常にデータベースに保存されていなければならないと考えていました。さらに、ジェネリックになることのパフォーマンスヒットは有害です。たとえば、データベースのすべてのクライアントの名前とアドレスが必要な場合は、SQLを使用して取得する簡単な方法が1つのクエリで提供されます。 ORMを使用すると、すべてのクライアントを取得してから各名前とアドレスを取得する必要があります。遅延ロードされていても、それ以上時間がかかります。
これは私の考えですが、上記のいずれかが変更されていますか?私はエンティティフレームワーク、NHibernateなどのような多くのORMSを見ています。そして、彼らは最近、最近多くの人気を持っているようです...それらの価値がありますか?彼らは私が上記の問題を解決していますか?
+1これは私の答えです(自己投票!) – dfa
私はすでにそれを読んだことがありますが、Jeffは主にLinqについてSQLで話しています。私はormsに興味があります。私はLinqのSQLへの制限を知っていて、それを使う方法とその限界を知っているときに便利なツールだと思っています...しかし... ORMに関して同じことを言えますか? –
「ORMには通常問題がありません」と言われると、実行速度が速いか、パフォーマンスを目指している場合は使用しないでください。 –