Установка Linq в NHibernate ADO Тайм-аут команды - PullRequest
3 голосов
/ 26 марта 2010

Как увеличить время ожидания в NHibernate Linq To Sql?

Не тайм-аут соединения, а тайм-аут команды ado.

using (ISession session = NHibernateHelper.OpenSession(NHibernateHelper.Databases.CarrierCDR))
  using (session.BeginTransaction(IsolationLevel.ReadUncommitted))
  {
   lCdrs = (from verizon in session.Linq<Domain.Verizon>()
             where verizon.Research == true
             && verizon.ReferenceTable == null
             orderby verizon.CallBillingDate descending 
              select verizon).ToList();
}

Ответы [ 2 ]

1 голос
/ 05 октября 2010

если вы конфигурируете сеанс NHibernate с помощью web.config, вы можете добавить это в конфигурацию:

<add key="hibernate.command_timeout" value="0" />
0 голосов
/ 10 апреля 2010

Единственное упоминание о параметре тайм-аута команды во всем беглом исходном коде nhibernate содержится в объекте FirebirdConfiguration. Который настраивает приложение для базы данных Firebird, которую вы, вероятно, не используете. Я бы посоветовал поиграть с вашими объектами конфигурации и обратиться к ссылке на строку подключения вашей базы данных.

Функция Raw в PersistenceConfiguration может позволить вам получить доступ к свойствам, которые вы ищете, например, FirebirdConfiguration, вы можете добавить строку Raw("command_timeout", "444");, где вы конфигурируете nhibernate.

...