Я использую StructureMap для разрешения ссылок на мой класс репозитория. Мой интерфейс репозитория реализует IDisposable, например
public interface IMyRepository : IDisposable
{
SomeClass GetById(int id);
}
Реализация интерфейса с использованием Entity Framework:
public MyRepository : IMyRepository
{
private MyDbContext _dbContext;
public MyDbContext()
{
_dbContext = new MyDbContext();
}
public SomeClass GetById(int id)
{
var query = from x in _dbContext
where x.Id = id
select x;
return x.FirstOrDefault();
}
public void Dispose()
{
_dbContext.Dispose();
}
}
В любом случае, как упоминалось, я использую StructureMap для разрешения IMyRepository. Итак, , когда, где и как следует вызвать метод dispose?