私はMVC 3アプリケーションでNinjectを使用していますし、私の依存関係の1つは、Entity Frameworkの上にある:Ninject + ASP.net MVC +エンティティフレームワーク - コンテキストはいつ削除されますか?
interface IFooRepository
{
Foo GetFoo(int id);
}
public EFFooRepository : IFooRepository
{
private FooDbContext context;
public EFFooRepository(FooDbContext context)
{
this.context = context;
}
}
私は複数の依存関係を持っており、彼らの両方が必要な場合ので、私は、Ninjectにそうようにバインディング設定データコンテキストは同じコンテキストを共有することになります。
Bind<FooDbContext>().ToSelf().InRequestScope();
私のコンテキストがいつ廃棄されるのかは不明です。私はそれをインスタンス化するものではないので、それは処分されるか、それともガベージコレクションのときに処分されるのだろうか? Ninjectは、それが完了したら何かを処分することを知っていますか?
これは私が望んでいたものです。私はDbContextはIDisposableを実装すると信じています。実際にはそうでなければ私はショックを受けるだろう。ありがとう! – Dismissile
@Dismissile、はい、DbContextはIDisposableを実装しています。 –
ああ、とてもいいです。この例をありがとう。 – Dismissile