3

如何增加NHibernate Linq To Sql中的超時時間?將Linq設置爲NHibernate ADO命令超時

不是連接超時,而是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(); 
} 
+0

會有人請編輯這個問題的標題更具說明性。 – 2010-04-10 05:46:52

回答

0

在所有的功能NHibernate的源代碼的命令超時參數的唯一一提的是在FirebirdConfiguration對象。其中配置的應用程序的Firebird數據庫,你可能沒有使用。我會建議玩你的配置對象,並諮詢你的數據庫的連接字符串參考。

Raw功能在PersistenceConfiguration可以讓你訪問你正在尋找,像FirebirdConfiguration的屬性,你可以添加一行Raw("command_timeout", "444");,到了那裏你配置NHibernate的。

1

,如果你是在web.config配置您的NHibernate的會議,你可以添加這個到配置:

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

問題是,當執行Linq查詢時,該屬性未用於實際命令。在約30秒後它總是超時。 – Groo 2010-10-05 11:41:36