Я использую Ninject в моем приложении MVC 3, и одна из моих зависимостей находится на Entity Framework:
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, как избавиться от чего-нибудь, когда он с этим закончит?