エンティティの使用 現在、すべてのテーブルを含む dbcontext があります。
それが誰もがしていることなのか、それともモジュールごとにコンテキストがあるのか 疑問に思っています。私にとって、dbcontext はモデルをデータベースにマップするための接続であり、データベースは 1 つしかないため、必要なのは 1 つだけです。
先に進む前に、それが適切かどうかを確認したいと思います。
では、データベースごとに 1 db コンテキストか、それとも多数か?
エンティティの使用 現在、すべてのテーブルを含む dbcontext があります。
それが誰もがしていることなのか、それともモジュールごとにコンテキストがあるのか 疑問に思っています。私にとって、dbcontext はモデルをデータベースにマップするための接続であり、データベースは 1 つしかないため、必要なのは 1 つだけです。
先に進む前に、それが適切かどうかを確認したいと思います。
では、データベースごとに 1 db コンテキストか、それとも多数か?
私は最近、これと同じプロセスを経て、このテーマに関する優れたリソースをいくつか見つけました。非常に役に立ったのは次のとおりです。
私はデスクトップ アプリを構築していましたが、複数のコンテキストを使用して、アプリケーションではなくモジュールに関連付けられた有効期間を維持できるようにしました。これは私にとって非常にうまく機能しており、私DbContext
が圧倒されずDbSets
、現在のモジュールに関連するものに限定されていることが気に入っています。
ASP.NET MVC アプリでは、 が要求の間だけ存続するため、これは異なります。このような場合、データベースが非常に大きい場合を除き、単純化するためDbContext
に通常は 1 つを使用します。大規模なデータベースの場合、オーバーヘッドと煩雑さを制限し、物事を区分しておくために、DbContext
おそらく複数に分割します。DbContexts
現在、EF は差分 dbContext に分割されていません。ここでそれについての素晴らしい話
この場合、データベース生成のためだけに MVC Web サイトからプロジェクト diff を作成し、要件ごとに個別の dbContext を作成しました。
このように、dbContext は決して大きくならず、保守も容易です。