Я захватываю базовое соединение от своего ObjectContext
. Мне нужно проверить состояние соединения и при необходимости открыть его. Мне интересно, нужно ли мне закрыть его, или если об этом позаботятся обо мне.Entity Framework: Должен ли я закрыть соединение, если я его открою?
В любом случае я удаляю свой контекст, который, как я предполагаю, закрывает соединение.
Должен ли я открывать это соединение вручную в первую очередь?
FYI: Я намеренно избегаю удобства ExecuteStoredCommand
и ExecuteStoredQuery
. У нас есть более старый код, который работает против старых классов ADO.NET. Я просто хочу разоблачить соединение и убедиться, что он готов к использованию.
Я не знал, приведет ли к открытию и закрытию соединение воздействие производительности. Открывает ли Entity Framework и закрывает соединение для каждой выполняемой команды? –
Насколько я знаю, да. Но пул соединений управляет реальным подключением к базе данных, поэтому во многих случаях реальное соединение может быть даже не закрыто. См. [этот пост] (http://stackoverflow.com/q/861552/861716). –
Я создал простой класс менеджера соединений, реализующий 'IDisposable'. –