使用IDbConnection.ExecuteSql时,如何设置命令超时时间?

IDbConnection db = ConnectionFactory.OpenDbConnection();
db.ExecuteSql("...");

如果我使用IDbCommand.ExecuteSql(请参见下文)方法,则可以设置命令超时,但是会收到一堆关于不赞成使用的方法的警告。
IDbCommand comm = db.CreateCommand()
comm.CommandTimeout = 240;
comm.ExecuteSql("...");

最佳答案

有了最新的更改,OrmLite不再直接在IDbCommand对象周围提供API(现在所有API都已在最新版本中内部提供)。

但是由于OrmLite只是ADO.NET底层IDbConnectionIDbCommand接口(interface)上的扩展方法,因此您可以在需要时轻松绕过OrmLite的扩展方法,而直接使用它们,例如:

IDbConnection db = ConnectionFactory.OpenDbConnection();
IDbCommand cmd = db.CreateCommand();
cmd.CommandTimeout = 240;
cmd.CommandText = "...";
cmd.ExecuteNonQuery();

另外,您可以使用以下命令设置全局CommandTimeout:
OrmLiteConfig.CommandTimeout = 240;

关于c# - ServiceStack OrmLite命令超时,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15353719/

10-13 06:56