Правильно и правильно использовать using
операторы вокруг одноразовых предметов , когда у вас есть время жизни ;однако, в этом случае: нет!Соединение здесь относится к контексту данных, и, предположительно, сам контекст данных равен IDisposable
, и он будет располагать соединением, когда контекст данных расположен.
Итак:хотя вам может быть разрешено заимствовать соединение из контекста данных для выполнения запросов - вам не следует пытаться распоряжаться здесь.Это может привести к закрытию / удалению соединения в неожиданное время с непредсказуемыми результатами.
И наоборот: если у вас есть var conn = new OracleConnection(...)
, то, очевидно, вы делаете владеете это соединение (если вы не передадите его чему-то, что будет управлять временем жизни), и вы должны избавиться от него.
Просто чтобы еще больше усложнить ситуацию ... в настоящее время,ваш MyClass
, кажется, владеет контекстом БД через:
private MyDbContext _dbContext = new MyDbContext();
Так что в идеале ваш MyClass
должен быть одноразовым (: IDisposable
), а располагаемый MyClass
должен каскадно располагаться _dbContext
.