Нужно ли вставлять контекст Entity Framework в оператор Using?
==============================================================

 Объект контекста Entity Framework реализует метод Dispose (), который «освобождает ресурсы, используемые контекстом объекта». Что это делает на самом деле? Может ли быть плохим всегда помещать это в оператор using {}? Я видел, как он используется как с, так и без использования оператора. 

 Я специально собираюсь использовать контекст EF из метода службы WCF, создать контекст, выполнить некоторое linq и вернуть ответ. 

 **РЕДАКТИРОВАТЬ:** Кажется, что я не единственный, кто задается этим вопросом. Другой вопрос - что на самом деле происходит внутри метода Dispose (). Некоторые говорят, что это закрывает связи, а некоторые статьи говорят, что нет. В чем дело? 

 Если вы создаете контекст, вы должны избавиться от него позже. Если вы должны использовать оператор `using` зависит от времени жизни контекста. 

1. Если вы создаете контекст в методе и используете его только внутри этого метода, вам действительно следует использовать оператор `using` поскольку он дает вам обработку исключений без какого-либо дополнительного кода.
2. Если вы используете контекст в течение более длительного периода времени, т. Е. Время жизни не ограничено временем выполнения метода, вы не можете использовать оператор `using` и вам придется самостоятельно вызывать `Dispose()` и следить за тем, чтобы он всегда вызывался.

 Что `Dispose()` делает для контекста объекта? 

 Я не смотрел на код, но, по крайней мере, ожидаю, что он закроет соединение с базой данных с помощью его базовых сокетов или любых ресурсов, используемых механизмом транспорта.