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()); }
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())); }
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)); }