вам следует учесть следующие советы:
1) ваше соединение будет открыто до тех пор, пока не завершатся bar1
и bar2
.
2) если произойдет исключение в bar1
из-за того, что ваше соединение закрыто, вы должны открыть его в bar2
.по крайней мере, вам нужен оператор if
, который проверяет состояние соединения.
создание нового экземпляра контекста данных почти всегда не дорогая работа.сначала вы должны (и в лучшем случае) настроить свои запросы.
Если я хочу написать код для сценария, подобного вашему коду, я создаю экземпляр в каждом методе (поскольку у меня нет связи с этими двумя методами), нокак это:
class foo
{
var dataContext ;
public void bar()
{
bar1();
bar2();
}
private void bar1()
{
using (dataContext = new SomeDataContext())
{
//do some query
}
}
private void bar2()
{
using (dataContext = new SomeDataContext())
{
//do some query
}
}
}
Я надеюсь, что эта помощь