Entity Framework (DbContext) を使用する共有ライブラリがあります。このライブラリは、通常の Windows アプリケーションだけでなく、Web MVC プロジェクトでも使用されます。DIとしてNinjectを使用しています。
Windows アプリケーションおよびMVC プロジェクトで使用InThreadScopeする必要があることは、私の理解です。DbContextInRequestScope
ただし、これにより、不要な依存関係がいくつか作成されます。私の共有ライブラリには、System.Web(リクエストのスコープのために)への参照が必要です。または、私の Web プロジェクトには EF への参照が必要です (スコープを変更できるようにするため)。
これらの依存関係を回避するような方法で Ninject をセットアップすることは可能ですか?
多くの場合、UnitOfWork のような「データベース セッション」の表現を使用します。したがって、共有ライブラリ「SomeLib」がセッションを表す IUnitOfWork を提供する場合、1:1 バインディング IUnitOfWork:DbContext @ SomeLib を作成し、アプリケーションでより具体的なバインディングを作成できます。
次に、アプリケーションで のそれぞれの実装を作成してバインドし
同様の質問で私の