誰もがSubsonic3とEntity Frameworkを使用して、賛否両論を教えてもらえますか? これを試してみるのは初めてです。サブソニックはEntity Frameworkのようにセットアップが簡単です。 SubSonicがMySql PGsqlなどのようにEntity Frameworkが他のデータベースと連携するかどうかはわかりません...? 私はこの記事(http://www.timacheson.com/Blog/2009/jun/entity_framework_vs_subsonic)を読んで、これはSubSonicよりもEntity Frameworkを選択するのに十分な説得力があります。しかし、私は第二の開口部が欲しかった。サブソニック3 VSエンティティフレームワーク
答えて
まあ、これらの2つは全く異なる獣です!
Subsonic 3は、データベース構造をほぼ1:1でオブジェクトクラスに簡単にマッピングするための優れたツールです。各クラスは基礎となるデータベースのテーブルを正確に表現します(Linq- to-SQLも同様です)。
Entity Frameworkは、ドメインやオブジェクトモデル(クラス)が必ずしも1対1でデータベーステーブルにマッピングされない複雑なシナリオを対象としています。そのため、EFには概念レベル(ドメインオブジェクト)、ストレージレベル(データベースレイアウト)、およびこれらの2つの間のマッピングを記述するXMLファイルが3つあります。
IMHO、Subsonic 3、Linq-to-SQLは、必要に応じてデータベースを柔軟に変更できる素早く中小規模のプロジェクトに最適です。また、オブジェクトをテーブルに簡単にマッピングできます。 EFは、大規模なエンタープライズアプリケーションでは、あなたのデータベースレベルが石で設定されている可能性があり、変更できません。また、アプリケーションのデータベースが変更されても "生き残る"必要があります。
全く違う聴衆 - 全く違う聴衆、私の意見では。
マルク・
PS:ティムは本当にこの比較においてサブソニック3を使用していた、そして正確に彼が何をやっていた場合、私は疑問に思います。私の直感は、EFが「より大きい」オーバーヘッドになるため、少しパフォーマンスが低下する可能性がある(エンタープライズシナリオでは、パフォーマンスを犠牲にしても金で重宝する価値がある)
私のベンチマークのでは、Subsonic 2.1(上記のとおり)を使用し、中負荷シナリオ(記載されている方法論)のデータアクセスレイヤーを比較しました。私はコードを提供したので、私のテストは簡単に複製することができます。
システムをロードし、使用中にWebアプリケーションの状態を再現する場合、EFは、はるかに優れたパフォーマンスを提供することを証明します。完全なWebアプリケーションの負荷テストでこれが確認されます。より複雑なテストでは、遅延ロードなどのEFの最適化機能は、Subsonicより優れたパフォーマンスの利点を提供します。
個々のデータアクセス操作を比較すると、単純な単体テストでは、亜音速が速く見えます。特に、Subsonicはより早く初期化しました。
パフォーマンスを重視する場合は、Fluent NHibernateまたはEntity Frameworkをお勧めします。
- 1. サブソニック3 .Save()VS .Update()と.Add()
- 2. サブソニック3 - 更新NullReferenceException
- 3. .NETエンティティフレームワーク - IEnumerable VS. IQueryable
- 4. Linq to SQL VSエンティティフレームワーク
- 5. サブソニックとADO.NETエンティティフレームワークの比較が速いもの
- 6. サブソニック3階層コレクションの作成?
- 7. サブソニック3のgetpagedフィルタの質問
- 8. ユニットテストMVC 3とエンティティフレームワーク
- 9. エンティティフレームワークと3層アーキテクチャ
- 10. ビジュアルスタジオデザインのサブソニック
- 11. サーバーアーキテクチャとサブソニック
- 12. アウタージョイントとサブソニック3.0
- 13. エンティティフレームワーク3 - ナビゲートプロパティNull with Varying Include()
- 14. エンティティフレームワークとMVCのストアドプロシージャ3
- 15. エンティティフレームワークと3層アーキテクチャのログインフォーム
- 16. サブソニック3 ActiveRecords更新ダーティー列は常に空です
- 17. サブソニック3.0 ActiveRecord with dates
- 18. サブソニック+ページングの質問
- 19. Rails 3 Search:Searchlogic vs Thinking_Sphinx
- 20. Swift 3 - dynamic vs @objc
- 21. mmap(2)vs mmap(3)
- 22. エンティティフレームワークを使用する3層アーキテクチャ
- 23. Rails 3(Ruby 1.9.2 vs 1.8.6)と(MRI vs REE vs JVM) - コメント/提案?
- 24. サブソニックでネストされたクエリ
- 25. サブソニックによる監査
- 26. Sqlインジェクション攻撃とサブソニック
- 27. Xcode 8.0 Beta 3 vs. Xcode 8.0
- 28. VS 2015アップデートglobal.asaxの3ブレークポイント
- 29. Nexus 2 OSS vs. Nexus 3
- 30. サブソニック3 User.Identity.NameとEnvironment.Usernameを監査フィールドに使用していますか?
Timのベンチマークは、標準的なパフォーマンステストではありません.Sonyが長時間ロードするのに時間がかかりません。 http://blog.wekeroad.com/subsonic/subsonic-scaling/ –