Webアプリケーションの主要セクションごとに複数のXXX : DbContext
クラスを持つことをお勧めします(データベースに少なくとも50個のテーブルを持つ大きなものだとします)。たとえば、MembershipContext、BlogContext、StoreContextなどです。または、dbアクセス関連のすべての項目に対して単一のDatabaseContext
を持つ方が便利です。単一のWebアプリケーション用の複数のDbContextクラス。良いか悪いか?
8
A
答えて
8
複数のDbContextクラスを使用すると、クロストランザクションが複雑になることを意味します(この問題の解決策は、Webの例http://pastebin.com/YEDqyH0nを参照してください)。それはすべて、設計したいアーキテクチャと分離に依存します。
とにかく、リポジトリとUnitOfWorkのパターンを見て、DbContextの使い方を抽象化したレイヤーを作成する必要があります。ここをクリックしてください:Multiple DbContexts in N-Tier ApplicationここでEF and repository pattern - ending up with multiple DbContexts in one controller - any issues (performance, data integrity)? ASP.NET MVCを使用している場合。
50個のテーブルでは、複数のDbContextを持つことが正当化されると思います。だから私は複数のDbContextを使用することをお勧めします。しかし、RepositoryとUnitOfWorkパターンを使ってラップして、他のレイヤーの実際の実装とは無関係にする必要があります(このようにして後で簡単に変更でき、signle DbContextのみを使用するなど)。
私は役立つことを願っています。
関連する問題
- 1. クラス内のゲッター/セッターの使用 - 良いか悪いのか?
- 2. 複数のパスワードログイン:良いOR悪い
- 3. なぜ複数のDbContextクラスですか?
- 4. 番号とクラスのID - 良いか悪いですか?
- 5. MVC 5:単一のWebアプリケーションの複数の認証方式?
- 6. WPFアプリケーションを複数のdllに分割するのが良いか悪いですか?
- 7. ウェブサイトへの単一のエントリーポイントを持つ。悪い?良い?問題ではない?
- 8. 単一のWebアプリケーションを使用して複数の仮想ディレクトリにアクセスする
- 9. Auto Mockingコンテナの使用は良いか悪いのですか?
- 10. Web APIの単一コントローラ、単一サービス、複数リポジトリパターン
- 11. DbContextクエリのパフォーマンスが悪いかどうかObjectContext
- 12. 複数のドメイン、単一ノード(急行)アプリケーション
- 13. MVCエンタープライズの分野 - 良いか悪い?
- 14. PHP MVCのBaseModel、良いか悪い?
- 15. Grails単一クラスの複数のDB使用
- 16. 単一のGWTアプリケーション用の複数のRequestFactoryサーブレット
- 17. 単一のアプリケーション用の複数のコンシューマーキーを持つOAuthプロバイダー
- 18. 単一のWindows Azure Webサイト上の複数のWebサイト
- 19. 複数のプロジェクトからの単一アセンブリ
- 20. 複数のドメインから単一のウェブサイト
- 21. C++メタテンプレート:良いデザインか悪いデザインか
- 22. リポジトリパターン:良いか悪いですか?
- 23. C#String.IsNullOrEmpty:良いか悪いですか?
- 24. レジストリデザインパターン...良いか悪いですか?
- 25. Tomcat:単一のTomcat、別々のメモリが必要な複数のWebアプリケーション
- 26. 複雑さがO(n^3)のソートアルゴリズムは良いか悪いですか?
- 27. 複数の値をクエリ文字列として渡すのはMVCで良いか悪いのですか
- 28. 複数のモバイルデバイス用の単一アプリケーションビルド
- 29. 良いコーディングですか? (複数のメッセージループ)
- 30. より良いマルチスレッド:単一の関数またはコレクション関数
DbContextは、すでにリポジトリと作業単位のパターンを実装しています。 –