Entity Framework и Web API ObjectDisposedException
У меня есть слой данных, который использует Entity Framework 5 для подключения к Sql Server. У меня также есть запрос LINQ, который получает некоторые данные. Этот запрос не выполняется при использовании с веб-API. Я получаю исключение ObjectDisposedException. Вот запрос:
using (MyContext container = new myContext())
{
return container.Sales
.Include("Products")
.Where(s => s.Id == id)
.FirstOrDefault();
}
Уровень данных - это dll, предоставляемая бизнес-уровнем, а также dll, которая вызывается контроллером веб-API. Я предполагал, что сериализатор JSON лениво загружал включения, но ни одно из моих исправлений не сработало. Есть идеи? Я буду обновлять вопрос по мере необходимости, если информация отсутствует.
Вот вызов бизнес-уровня для уровня данных:
public Sale GetSale(int id)
{
SaleRepository s = new SaleRepository();
return s.GetSale(id);
}
И, наконец, вызов веб-API для бизнес-уровня:
public Sale GetSale(int id)
{
SaleManager s = new SaleManager();
return s.GetSale(id);
}
Вот исключение:
Экземпляр ObjectContext был удален и больше не может использоваться для операций, требующих подключения.