问题
How do I increase the timeout in NHibernate Linq To Sql?
Not the Connection Timeout but the ado command timeout.
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();
}
回答1:
if you are configuring your NHibernate session with the web.config you can add this to the config:
<add key="hibernate.command_timeout" value="0" />
回答2:
The only mention of a command timeout parameter in all of fluent nhibernate's source code is in a FirebirdConfiguration
object. Which configures the application for the firebird database, which you are probably not using. I would suggest playing with your configuration objects, and consulting your database's connection string reference.
The Raw
function in the PersistenceConfiguration
may allow you to access the properties you are looking for, like FirebirdConfiguration
, you could add the line Raw("command_timeout", "444");
, to where your configure nhibernate.
来源:https://stackoverflow.com/questions/2519754/setting-linq-to-nhibernate-ado-command-timeout