Ваш второй блок кода правильный.
Один оператор использования применяется к одному объявлению.
Ват, который вы здесь написали:
using (var context = ApplicationDbContext.Create())
using (MyRepository myRespository = new MyRepository(context))
{
myRepository.ReadData();
}
То же, что и:
var context = ApplicationDbContext.Create();
try
{
var myRespository = new MyRepository(context);
try
{
myRepository.ReadData();
}
finally
{
myRepository.Dispose();
}
}
finally
{
context.Dispose();
}
Это то, что генерирует компилятор для вас, поэтому вам не нужно беспокоиться о написании такой тяжелой и повторяющейся вещи, которая является возможным источником ошибок и ошибок.
Впервый код myRespository
не расположен.