Я могу решить это только так. Я просто создаю новый экземпляр контекста в каждом цикле. Я думаю, что это плохая идея, но она работает.
var getAutoResults = new List<List<Karat_getAutoData_Result>>();
var optionsBuilder = new DbContextOptionsBuilder<TestRecipesDBContext>();
optionsBuilder.UseSqlServer("MY CONNECTION STRING");
foreach (var elem in meas)
{
using (var localContext = new TestRecipesDBContext(optionsBuilder.Options))
{
getAutoResults.Add(await localContext.KaratGetAutoDataResults
.FromSql($"dbo.Karat_getAutoData @MeasurementId={elem.MeasurementId},@CalcRequestId={null}")
.ToListAsync());
}
}
Решение ниже более полезное, просто нужно использовать AsNoTracking () :
getAutoResults.Add(await localContext.KaratGetAutoDataResults
.FromSql($"dbo.Karat_getAutoData @MeasurementId=elem.MeasurementId},@CalcRequestId={null}")
.AsNoTracking()<br>
.ToListAsync());