3

NHibernate에서 LINQ를 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

사람이 더 설명적인이 질문의 제목을 편집하십시오 것이다. –

답변

0

능통 자 NHibernate의 모든 소스 코드의 명령 제한 시간 매개 변수의 유일한 언급은 FirebirdConfiguration 객체입니다. Firebird 데이터베이스 용 응용 프로그램을 구성합니다.이 응용 프로그램은 아마도 사용하고 있지 않을 것입니다. 구성 객체를 가지고 놀고 데이터베이스의 연결 문자열 참조를 참고하는 것이 좋습니다.

당신이 FirebirdConfiguration처럼 찾고있는 속성에 액세스 할 수 있도록 할 수있다 PersistenceConfigurationRaw 기능, 당신은 어디 구성 NHibernate에에 선 Raw("command_timeout", "444");을 추가 할 수 있습니다. 당신의 Web.config와 NHibernate에 세션을 구성하는 경우

1

당신은 설정이를 추가 할 수 있습니다

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

문제는이 속성이 Linq 쿼리가 실행될 때 실제 명령에 사용되지 않는다는 것입니다. ~ 30 초 후에 항상 시간 초과됩니다. – Groo

관련 문제