Я бегу в этом вопросе, где я получаю следующее сообщение об ошибке:Асинхронный/Await Entity Framework ObjectContext расположен
A first chance exception of type 'System.ObjectDisposedException' occurred in EntityFramework.dll
Additional information: The ObjectContext instance has been disposed and can no longer be used for operations that require a connection.
я получаю эту ошибку при попытке доступа к таблице с помощью EF 6. Я дал метод для async и ждать возвращаемого значения, но он все равно дает мне удаленную ошибку.
public async Task<List<Ticket>> GetAllOpenTwoTicketsAsync() {
using (AssetTrackingEntitiesObj _edmObj = new AssetTrackingEntitiesObj()) {
_edmObj.FullObjectContext.Connection.Open();
return await _edmObj.Tickets
.Where(t => t.TicketStatusType.isOpenTicket)
.Include(t => t.AssetTickets)
.Select(t => t).ToListAsync();
}
}
здесь метод, который называет билеты
TicketsCollection = new ObservableCollection<Ticket>(await _ticketRepository.GetAllOpenTwoTicketsAsync());
Правильно ли я делать это? Каждый метод в моем репозитории использует инструкцию using, создает свой собственный objectcontext, открывает свое собственное соединение, а затем делает все, что ему нужно, правильно ли это для множественного асинхронного с EF6? Заранее спасибо.
The Selects не нужны, спасибо. В итоге мне пришлось использовать некоторые транзакции EF и полностью отключить ленивую загрузку. – user5660392