2013-03-04 111 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