使用IDbConnection.Executesql时如何设置命令超时?
IDbConnection db = ConnectionFactory.OpenDbConnection(); db.Executesql("...");
如果我使用IDbCommand.Executesql(见下文)方法,我可以设置命令超时,但我得到一堆关于弃用方法的警告.
IDbCommand comm = db.CreateCommand() comm.CommandTimeout = 240; comm.Executesql("...");
解决方法
使用最新的更改,OrmLite不再直接在IDbCommand对象周围提供API(现在所有这些都在最新版本中内部).
但由于OrmLite只是ADO.NET底层IDbConnection和IDbCommand接口的扩展方法,因此您可以在需要时轻松绕过OrmLite的扩展方法,并直接使用它们,例如:
IDbConnection db = ConnectionFactory.OpenDbConnection(); IDbCommand cmd = db.CreateCommand(); cmd.CommandTimeout = 240; cmd.CommandText = "..."; cmd.ExecuteNonQuery();
或者,您可以使用以下命令设置全局CommandTimeout:
OrmLiteConfig.CommandTimeout = 240;