Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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));
        }
Ejemplo n.º 3
0
        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));
        }