Я столкнулся с этим вопросом, когда выполнял рефакторинг некоторого моего кода, который сильно зависел от шаблона Disposable.
У меня действительно есть поле только для чтения DbContext, которое инициализируется в конструкторе.Теперь мне было интересно, могу ли я просто передать поле в блок использования, чтобы правильно расположить его.Или мне нужно избавиться от поля и инициализации, чтобы просто инициализировать его внутри каждого блока с использованием
protected readonly DbContext _context;
public Repository(DbContext context)
{
_context = context;
}
public Task<T> GetAsync(Guid id)
{
using (_context)
{
return _context.Set<T>().FindAsync(new CancellationToken(), id);
}
}
Я ожидаю правильного применения шаблона Dispose