如何在新的ormlite api中设置命令超时

时间:2013-03-04 21:14:06

标签: c# ormlite-servicestack

我已升级到ormlite的新版本并且正在更新我的代码,但是现在看不到我可以设置命令时间,因为每个东西都不在idbconnection中。

1 个答案:

答案 0 :(得分: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