public async Task <T> ExecuteAsync <T>(CancellationToken cancellationToken) { await DataConnection.InitCommandAsync(CommandType, CommandText, Parameters, cancellationToken); if (Parameters != null && Parameters.Length > 0) { SetParameters(DataConnection, Parameters); } using (var rd = await DataConnection.ExecuteReaderAsync(CommandBehavior, cancellationToken)) { if (await rd.ReadAsync(cancellationToken)) { try { return(GetObjectReader <T>(DataConnection, rd, CommandText)(rd)); } catch (InvalidCastException) { return(GetObjectReader2 <T>(DataConnection, rd, CommandText)(rd)); } } } return(default(T)); }
internal async Task <T> ExecuteScalarAsync <T>(DbDataReader rd, string sql, CancellationToken cancellationToken) { if (await rd.ReadAsync(cancellationToken)) { try { return(GetObjectReader <T>(DataConnection, rd, sql)(rd)); } catch (InvalidCastException) { return(GetObjectReader2 <T>(DataConnection, rd, sql)(rd)); } } return(default(T)); }
internal T ExecuteScalar <T>(IDataReader rd, string sql) { if (rd.Read()) { try { return(GetObjectReader <T>(DataConnection, rd, sql)(rd)); } catch (InvalidCastException) { return(GetObjectReader2 <T>(DataConnection, rd, sql)(rd)); } } return(default(T)); }