Я запустил два метода Async, используя Entity Framework 2.1 - один для выбора общего количества и другой для получения данных страницы - и я пометил свою сущность AsNoTracking следующим образом:
var dbContext = new SamuraiAppDataCoreContext();
var query = dbContext.Samurais.AsNoTracking();
var pageQuery = query.Skip(0).Take(10);
var totalCountTask = query.CountAsync();
var pageRecordsTask = pageQuery.ToListAsync();
await Task.WhenAll(totalCountTask, pageRecordsTask);
var results = new { TotalCount = totalCountTask.Result, Pages = pageRecordsTask.Result };
Затем я получил следующееошибка
InvalidOperationException: соединение не было закрыто.Текущее состояние соединения - подключение. System.Data.ProviderBase.DbConnectionClosedConnecting.TryOpenConnection (DbConnection externalConnection, DbConnectionFactory connectionFactory, TaskCompletionSource retry, DbConnectionOptions userOptions
* 10111014 * Примечания: ошибка исчезает в следующих сценариях
- Удаление "AsNoTracking"
с использованием await для каждой асинхронной
var totalCount = await query.CountAsync();
var pageRecords = await pageQuery.ToListAsync();
И мой вопрос:
, почему AsNoTracking не работает с мульти-асинхронными вызовами?