将Linq设置为NHibernate ADO命令超时

时间:2010-03-25 22:03:59

标签: c# nhibernate fluent-nhibernate linq-to-nhibernate command-timeout

如何在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 个答案:

答案 0 :(得分:1)

如果使用web.config配置NHibernate会话,可以将其添加到配置中:

<add key="hibernate.command_timeout" value="0" />

答案 1 :(得分:0)

所有流利的nhibernate源代码中唯一提到的命令超时参数都在FirebirdConfiguration对象中。它为firebird数据库配置应用程序,您可能没有使用它。我建议您使用配置对象,并查阅数据库的连接字符串参考。

Raw中的PersistenceConfiguration功能可能允许您访问您要查找的属性,例如FirebirdConfiguration,您可以将行Raw("command_timeout", "444");添加到您的位置配置nhibernate。