dotConnect for Oracle + entity framework

Обсуждение возникших проблем, предложений и ошибок dbForge for Oracle
Закрыто
Soa
Сообщения: 4
Зарегистрирован: Чт 11 апр 2013 05:12

dotConnect for Oracle + entity framework

Сообщение Soa » Чт 11 апр 2013 05:26

Добрый день!...Не знаю в каком форуме данный вопрос задать...увидел слово Oracle и решил здесь...Вот мой вопрос: в моем приложении данные вытаскиваются через entity framework + dotConnect for Oracle через DbMonitor видно что каждый запрос создает сессию(Open) и тут же закрывает(Close), а можно как-то переопределить допустим один раз открыл сессию поработал с ней сделал commit а потом закрыл...а то создание сессии для базы данных Oracle дорогой ресурс...и еще могу ли эту сессию или указатель на неё передать ну допустим в функцию...???

Shalex
Devart Team
Сообщения: 19
Зарегистрирован: Пт 12 апр 2013 14:48

Re: dotConnect for Oracle + entity framework

Сообщение Shalex » Пт 12 апр 2013 15:03

Soa писал(а):каждый запрос создает сессию(Open) и тут же закрывает(Close), а можно как-то переопределить допустим один раз открыл сессию поработал с ней сделал commit а потом закрыл
Можно. Для этого откройте соединение явно myContext.Connection.Open(); и оно будет открыто до тех пор, пока Вы явно его не закроете.

Soa
Сообщения: 4
Зарегистрирован: Чт 11 апр 2013 05:12

Re: dotConnect for Oracle + entity framework

Сообщение Soa » Пн 15 апр 2013 06:26

Благодарю за помощь, но что-то все равно закрывает соединение...вот мой код:

Код: Выделить всё

context.Database.Connection.Open();  
context.DIR_SPR_PLAN_PR.Include("DIR_PLAN_PER").Load();//при этом вызове автоматом делает Rollback и закрывает соединение
может сам метод это делает как его переопределить???

Soa
Сообщения: 4
Зарегистрирован: Чт 11 апр 2013 05:12

Re: dotConnect for Oracle + entity framework

Сообщение Soa » Чт 18 апр 2013 04:01

Оказывается проблема эта только есть в классе DbContext как-то он не реагирует на явное открытие и закрытие сессии...сделал контекст от ObjectContext и все заработало...ещё раз благодарю за помощь...

Shalex
Devart Team
Сообщения: 19
Зарегистрирован: Пт 12 апр 2013 14:48

Re: dotConnect for Oracle + entity framework

Сообщение Shalex » Чт 18 апр 2013 08:30

Soa писал(а):

Код: Выделить всё

context.DIR_SPR_PLAN_PR.Include("DIR_PLAN_PER").Load();//при этом вызове автоматом делает Rollback и закрывает соединение
ROLLBACK вызывается на соединении перед возвращением его в пул, т.е. при закрытии коннекшина при включенном пулинге.
Soa писал(а):Оказывается проблема эта только есть в классе DbContext как-то он не реагирует на явное открытие и закрытие сессии...
В случае с DbContext нужно получить явно доступ к нижележащему ObjectContext'у:

Код: Выделить всё

((IObjectContextAdapter)myDbContext).ObjectContext.Connection.Open();
тогда и с DbContext заработает.

Закрыто