Sto usando Ninject nella mia applicazione MVC 3 e uno dei miei dipendenze è in Entity Framework:Ninject + ASP.net MVC + Entity Framework: quando viene disposto il mio contesto?
interface IFooRepository
{
Foo GetFoo(int id);
}
public EFFooRepository : IFooRepository
{
private FooDbContext context;
public EFFooRepository(FooDbContext context)
{
this.context = context;
}
}
ho creato un legame in questo modo in Ninject, quindi se ho più di una dipendenza e entrambi hanno bisogno un contesto di dati che finiscono per condividere lo stesso contesto:
Bind<FooDbContext>().ToSelf().InRequestScope();
Non sono sicuro di quando verrà disposto il mio contesto. Dal momento che non sono io quello che lo crea, verrà mai eliminato o verrà semplicemente eliminato quando viene raccolto dei rifiuti? Ninject sa di Smaltire qualsiasi cosa quando è finita?
Questo è quello che speravo. Credo che DbContext implementa IDisposable. In effetti sarei scioccato se non fosse così. Grazie! – Dismissile
@Dismissile, sì, DbContext implementa IDisposable. –
Oh, molto carino. Grazie per l'esempio. – Dismissile