dotConnect for Oracle + entity framework
dotConnect for Oracle + entity framework
Добрый день!...Не знаю в каком форуме данный вопрос задать...увидел слово Oracle и решил здесь...Вот мой вопрос: в моем приложении данные вытаскиваются через entity framework + dotConnect for Oracle через DbMonitor видно что каждый запрос создает сессию(Open) и тут же закрывает(Close), а можно как-то переопределить допустим один раз открыл сессию поработал с ней сделал commit а потом закрыл...а то создание сессии для базы данных Oracle дорогой ресурс...и еще могу ли эту сессию или указатель на неё передать ну допустим в функцию...???
Re: dotConnect for Oracle + entity framework
Можно. Для этого откройте соединение явно myContext.Connection.Open(); и оно будет открыто до тех пор, пока Вы явно его не закроете.Soa писал(а):каждый запрос создает сессию(Open) и тут же закрывает(Close), а можно как-то переопределить допустим один раз открыл сессию поработал с ней сделал commit а потом закрыл
Re: dotConnect for Oracle + entity framework
Благодарю за помощь, но что-то все равно закрывает соединение...вот мой код:
может сам метод это делает как его переопределить???
Код: Выделить всё
context.Database.Connection.Open();
context.DIR_SPR_PLAN_PR.Include("DIR_PLAN_PER").Load();//при этом вызове автоматом делает Rollback и закрывает соединение
Re: dotConnect for Oracle + entity framework
Оказывается проблема эта только есть в классе DbContext как-то он не реагирует на явное открытие и закрытие сессии...сделал контекст от ObjectContext и все заработало...ещё раз благодарю за помощь...
Re: dotConnect for Oracle + entity framework
ROLLBACK вызывается на соединении перед возвращением его в пул, т.е. при закрытии коннекшина при включенном пулинге.Soa писал(а):Код: Выделить всё
context.DIR_SPR_PLAN_PR.Include("DIR_PLAN_PER").Load();//при этом вызове автоматом делает Rollback и закрывает соединение
В случае с DbContext нужно получить явно доступ к нижележащему ObjectContext'у:Soa писал(а):Оказывается проблема эта только есть в классе DbContext как-то он не реагирует на явное открытие и закрытие сессии...
Код: Выделить всё
((IObjectContextAdapter)myDbContext).ObjectContext.Connection.Open();