我已升级到新版本的ormlite,并正在更新代码,但由于所有事情都不在idbconnection之下,所以我看不到在哪里可以设置commandtime。

最佳答案

正如我在另一个线程中发布的那样,我创建了一个扩展方法来处理这种情况并仍然保留漂亮的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

关于c# - 如何在新的Ormlite API中设置命令超时,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15211241/

10-10 10:18