2013-03-04 112 views
2

我升级到了ormlite的新版本,并且正在更新我的代码,但没有看到我现在可以设置commandtime的位置,因为现在每件事情都不在idbconnection中。如何在新的ormlite api中设置命令超时

+2

http://stackoverflow.com/questions/15353719/servicestack-ormlite-命令超时 – 2013-05-10 12:13:43

回答

0

正如我张贴在另一个线程,我创建了一个扩展的方法来处理这种情况下,仍然保持了很好的API:

public static partial class IDbConnectionExtensionMethods 
{ 
    public static List<T> Query<T>(this IDbConnection self, string sql, TimeSpan commandTimeout) 
    { 
     List<T> results = null; 
     self.Exec((dbCmd) => 
      { 
       dbCmd.CommandTimeout = (int)commandTimeout.TotalSeconds; 
       dbCmd.CommandText = sql; 
       using (var reader = dbCmd.ExecuteReader()) 
       { 
        results = reader.ConvertToList<T>(); 
       } 
      }); 

     return results; 
    } // eo Query<T> 
} // eo class IDbConnectionExtensionMethods