14

エンティティの使用 現在、すべてのテーブルを含む dbcontext があります。

それが誰もがしていることなのか、それともモジュールごとにコンテキストがあるのか​​ 疑問に思っています。私にとって、dbcontext はモデルをデータベースにマップするための接続であり、データベースは 1 つしかないため、必要なのは 1 つだけです。

先に進む前に、それが適切かどうかを確認したいと思います。

では、データベースごとに 1 db コンテキストか、それとも多数か?

4

2 に答える 2

7

私は最近、これと同じプロセスを経て、このテーマに関する優れたリソースをいくつか見つけました。非常に役に立ったのは次のとおりです。

私はデスクトップ アプリを構築していましたが、複数のコンテキストを使用して、アプリケーションではなくモジュールに関連付けられた有効期間を維持できるようにしました。これは私にとって非常にうまく機能しており、私DbContextが圧倒されずDbSets、現在のモジュールに関連するものに限定されていることが気に入っています。

ASP.NET MVC アプリでは、 が要求の間だけ存続するため、これは異なります。このような場合、データベースが非常に大きい場合を除き、単純化するためDbContextに通常は 1 つを使用します。大規模なデータベースの場合、オーバーヘッドと煩雑さを制限し、物事を区分しておくために、DbContextおそらく複数に分割します。DbContexts

于 2013-04-27T05:09:56.230 に答える
0

現在、EF は差分 dbContext に分割されていません。ここでそれについての素晴らしい話

この場合、データベース生成のためだけに MVC Web サイトからプロジェクト diff を作成し、要件ごとに個別の dbContext を作成しました。

このように、dbContext は決して大きくならず、保守も容易です。

于 2013-04-27T05:58:44.503 に答える