internal static T Single <T>(this IDbCommand dbCmd, string sql, IEnumerable <IDbDataParameter> sqlParams)
        {
            dbCmd.SetParameters(sqlParams);

            return(OrmLiteUtils.IsScalar <T>()
                ? dbCmd.Scalar <T>(sql)
                : dbCmd.ConvertTo <T>(dbCmd.GetDialectProvider().ToSelectStatement(typeof(T), sql)));
        }
        internal static T Single <T>(this IDbCommand dbCmd, string sql, object anonType)
        {
            dbCmd.SetParameters <T>(anonType, excludeDefaults: false);

            return(OrmLiteUtils.IsScalar <T>()
                ? dbCmd.Scalar <T>(sql)
                : dbCmd.ConvertTo <T>(dbCmd.GetDialectProvider().ToSelectStatement(typeof(T), sql)));
        }
        internal static Task <T> SingleAsync <T>(this IDbCommand dbCmd, string sql, object anonType, CancellationToken token)
        {
            if (OrmLiteUtils.IsScalar <T>())
            {
                return(dbCmd.ScalarAsync <T>(sql, anonType, token));
            }

            dbCmd.SetParameters <T>(anonType, excludeDefaults: false);

            return(dbCmd.ConvertToAsync <T>(dbCmd.GetDialectProvider().ToSelectStatement(typeof(T), sql), token));
        }
        public static Task <List <T> > ConvertToListAsync <T>(this IDbCommand dbCmd, string sql, CancellationToken token)
        {
            if (sql != null)
            {
                dbCmd.CommandText = sql;
            }

            if (OrmLiteConfig.ResultsFilter != null)
            {
                return(OrmLiteConfig.ResultsFilter.GetList <T>(dbCmd).InTask());
            }

            var dialectProvider = dbCmd.GetDialectProvider();

            return(dbCmd.ExecReaderAsync(dbCmd.CommandText, token)
                   .Then(reader =>
                         OrmLiteUtils.IsScalar <T>()
                                ? reader.ColumnAsync <T>(dialectProvider, token)
                                : reader.ConvertToListAsync <T>(dialectProvider, null, token)).Unwrap());
        }
Exemple #5
0
        public static List <T> ConvertToList <T>(this IDbCommand dbCmd, string sql = null)
        {
            if (sql != null)
            {
                dbCmd.CommandText = sql;
            }

            var isScalar = OrmLiteUtils.IsScalar <T>();

            if (OrmLiteConfig.ResultsFilter != null)
            {
                return(isScalar
                    ? OrmLiteConfig.ResultsFilter.GetColumn <T>(dbCmd)
                    : OrmLiteConfig.ResultsFilter.GetList <T>(dbCmd));
            }

            using var reader = dbCmd.ExecReader(dbCmd.CommandText);
            return(isScalar
                ? reader.Column <T>(dbCmd.GetDialectProvider())
                : reader.ConvertToList <T>(dbCmd.GetDialectProvider()));
        }
Exemple #6
0
        public static async Task <List <T> > ConvertToListAsync <T>(this IDbCommand dbCmd, string sql, CancellationToken token)
        {
            if (sql != null)
            {
                dbCmd.CommandText = sql;
            }

            if (OrmLiteConfig.ResultsFilter != null)
            {
                return(OrmLiteConfig.ResultsFilter.GetList <T>(dbCmd));
            }

            var dialectProvider = dbCmd.GetDialectProvider();

            using var reader = await dbCmd.ExecReaderAsync(dbCmd.CommandText, token).ConfigAwait();

            if (OrmLiteUtils.IsScalar <T>())
            {
                return(await reader.ColumnAsync <T>(dialectProvider, token).ConfigAwait());
            }

            return(await reader.ConvertToListAsync <T>(dialectProvider, null, token).ConfigAwait());
        }
 internal static Task <T> SingleAsync <T>(this IDbCommand dbCmd, string sql, IEnumerable <IDbDataParameter> sqlParams, CancellationToken token)
 {
     return(OrmLiteUtils.IsScalar <T>()
         ? dbCmd.ScalarAsync <T>(sql, sqlParams, token)
         : dbCmd.SetParameters(sqlParams).ConvertToAsync <T>(dbCmd.GetDialectProvider().ToSelectStatement(typeof(T), sql), token));
 }