Извините, если об этом уже ответили, но как вы гарантируете один Entity Framework DbContext для каждого запроса, если вы не используете контейнер IOC? (Ответы, которые я встречал до сих пор, касаются решений контейнеров IOC.)
Кажется, что большинство решений подключаются к словарю HttpContext.Current.Items
, но как вы гарантируете удаление DbContext, когда запрос завершен? (Или удаление не обязательно необходимо с помощью EF DbContext
?)
Edit
В настоящее время я создаю экземпляр и удаляю свой DbContext в своих контроллерах, но у меня также есть несколько отдельных экземпляров моего DbContext в ActionFilters и моем MembershipProvider (и я только что заметил, также пару валидаторов). Итак, я подумал, что было бы неплохо централизовать создание экземпляров и хранение моего DbContext, чтобы уменьшить накладные расходы.