/// <summary>
 /// Execute scalar
 /// </summary>
 /// <param name="conn"></param>
 /// <param name="cmdText"></param>
 /// <param name="parameters"></param>
 /// <param name="commandType"></param>
 /// <param name="transaction"></param>
 /// <returns></returns>
 public static Task <object> ExecuteScalarAsync(this NpgsqlConnection conn, string cmdText, NpgsqlParameter[] parameters, CommandType commandType,
                                                NpgsqlTransaction transaction)
 {
     conn.CheckNull(nameof(conn));
     using var command = conn.CreateCommand(cmdText, commandType, transaction, parameters);
     return(command.ExecuteScalarAsync());
 }
 /// <summary>
 /// Execute Reader
 /// </summary>
 /// <param name="conn"></param>
 /// <param name="cmdText"></param>
 /// <param name="parameters"></param>
 /// <param name="commandType"></param>
 /// <param name="transaction"></param>
 /// <returns></returns>
 public static NpgsqlDataReader ExecuteReader(this NpgsqlConnection conn, string cmdText, NpgsqlParameter[] parameters, CommandType commandType,
                                              NpgsqlTransaction transaction)
 {
     conn.CheckNull(nameof(conn));
     using var command = conn.CreateCommand(cmdText, commandType, transaction, parameters);
     return(command.ExecuteReader());
 }
コード例 #3
0
 /// <summary>
 /// Execute a set of entity
 /// </summary>
 /// <param name="conn"></param>
 /// <param name="commandFactory"></param>
 /// <typeparam name="T"></typeparam>
 /// <returns></returns>
 public static IEnumerable <T> ExecuteEntities <T>(this NpgsqlConnection conn, Action <NpgsqlCommand> commandFactory) where T : new()
 {
     conn.CheckNull(nameof(conn));
     using var command        = conn.CreateCommand(commandFactory);
     using IDataReader reader = command.ExecuteReader();
     return(reader.ToEntities <T>());
 }
コード例 #4
0
 /// <summary>
 /// Execute a set of expando object
 /// </summary>
 /// <param name="conn"></param>
 /// <param name="commandFactory"></param>
 /// <returns></returns>
 public static IEnumerable <dynamic> ExecuteExpandoObjects(this NpgsqlConnection conn, Action <NpgsqlCommand> commandFactory)
 {
     conn.CheckNull(nameof(conn));
     using var command        = conn.CreateCommand(commandFactory);
     using IDataReader reader = command.ExecuteReader();
     return(reader.ToExpandoObjects());
 }
コード例 #5
0
 /// <summary>
 /// Execute a set of expando object
 /// </summary>
 /// <param name="conn"></param>
 /// <param name="cmdText"></param>
 /// <param name="parameters"></param>
 /// <param name="commandType"></param>
 /// <param name="transaction"></param>
 /// <returns></returns>
 public static IEnumerable <dynamic> ExecuteExpandoObjects(this NpgsqlConnection conn, string cmdText, NpgsqlParameter[] parameters, CommandType commandType,
                                                           NpgsqlTransaction transaction)
 {
     conn.CheckNull(nameof(conn));
     using var command        = conn.CreateCommand(cmdText, commandType, transaction, parameters);
     using IDataReader reader = command.ExecuteReader();
     return(reader.ToExpandoObjects());
 }
コード例 #6
0
 /// <summary>
 /// Execute a set of entity
 /// </summary>
 /// <param name="conn"></param>
 /// <param name="cmdText"></param>
 /// <param name="parameters"></param>
 /// <param name="commandType"></param>
 /// <param name="transaction"></param>
 /// <typeparam name="T"></typeparam>
 /// <returns></returns>
 public static IEnumerable <T> ExecuteEntities <T>(this NpgsqlConnection conn, string cmdText, NpgsqlParameter[] parameters, CommandType commandType,
                                                   NpgsqlTransaction transaction) where T : new()
 {
     conn.CheckNull(nameof(conn));
     using var command        = conn.CreateCommand(cmdText, commandType, transaction, parameters);
     using IDataReader reader = command.ExecuteReader();
     return(reader.ToEntities <T>());
 }
コード例 #7
0
        /// <summary>
        /// Create command
        /// </summary>
        /// <param name="conn"></param>
        /// <param name="commandFactory"></param>
        /// <returns></returns>
        public static NpgsqlCommand CreateCommand(this NpgsqlConnection conn, Action <NpgsqlCommand> commandFactory)
        {
            conn.CheckNull(nameof(conn));
            var command = conn.CreateCommand();

            commandFactory?.Invoke(command);
            return(command);
        }
        /// <summary>
        /// Execute scalar as...
        /// </summary>
        /// <param name="conn"></param>
        /// <param name="commandFactory"></param>
        /// <typeparam name="T"></typeparam>
        /// <returns></returns>
        public static async Task <T> ExecuteScalarAsAsync <T>(this NpgsqlConnection conn, Action <NpgsqlCommand> commandFactory)
        {
            conn.CheckNull(nameof(conn));
#if NETFRAMEWORK || NETSTANDARD2_0
            using var command = conn.CreateCommand(commandFactory);
#else
            await using var command = conn.CreateCommand(commandFactory);
#endif
            return((T)await command.ExecuteScalarAsync());
        }
        /// <summary>
        /// Execute scalar as...
        /// </summary>
        /// <param name="conn"></param>
        /// <param name="cmdText"></param>
        /// <param name="parameters"></param>
        /// <param name="commandType"></param>
        /// <param name="transaction"></param>
        /// <typeparam name="T"></typeparam>
        /// <returns></returns>
        public static async Task <T> ExecuteScalarAsAsync <T>(this NpgsqlConnection conn, string cmdText, NpgsqlParameter[] parameters, CommandType commandType,
                                                              NpgsqlTransaction transaction)
        {
            conn.CheckNull(nameof(conn));
#if NETFRAMEWORK || NETSTANDARD2_0
            using var command = conn.CreateCommand(cmdText, commandType, transaction, parameters);
#else
            await using var command = conn.CreateCommand(cmdText, commandType, transaction, parameters);
#endif
            return((T)await command.ExecuteScalarAsync());
        }
コード例 #10
0
        /// <summary>
        /// Execute a set of expando object
        /// </summary>
        /// <param name="conn"></param>
        /// <param name="commandFactory"></param>
        /// <returns></returns>
        public static async Task <IEnumerable <dynamic> > ExecuteExpandoObjectsAsync(this NpgsqlConnection conn, Action <NpgsqlCommand> commandFactory)
        {
            conn.CheckNull(nameof(conn));
#if NETFRAMEWORK || NETSTANDARD2_0
            using var command = conn.CreateCommand(commandFactory);
#else
            await using var command = conn.CreateCommand(commandFactory);
#endif
            using IDataReader reader = await command.ExecuteReaderAsync();

            return(reader.ToExpandoObjects());
        }
コード例 #11
0
        /// <summary>
        /// Execute a set of entity
        /// </summary>
        /// <param name="conn"></param>
        /// <param name="commandFactory"></param>
        /// <typeparam name="T"></typeparam>
        /// <returns></returns>
        public static async Task <IEnumerable <T> > ExecuteEntitiesAsync <T>(this NpgsqlConnection conn, Action <NpgsqlCommand> commandFactory) where T : new()
        {
            conn.CheckNull(nameof(conn));
#if NETFRAMEWORK || NETSTANDARD2_0
            using var command = conn.CreateCommand(commandFactory);
#else
            await using var command = conn.CreateCommand(commandFactory);
#endif
            using IDataReader reader = await command.ExecuteReaderAsync();

            return(reader.ToEntities <T>());
        }
コード例 #12
0
        /// <summary>
        /// Execute a set of expando object
        /// </summary>
        /// <param name="conn"></param>
        /// <param name="cmdText"></param>
        /// <param name="parameters"></param>
        /// <param name="commandType"></param>
        /// <param name="transaction"></param>
        /// <returns></returns>
        public static async Task <IEnumerable <dynamic> > ExecuteExpandoObjectsAsync(this NpgsqlConnection conn, string cmdText, NpgsqlParameter[] parameters, CommandType commandType,
                                                                                     NpgsqlTransaction transaction)
        {
            conn.CheckNull(nameof(conn));
#if NETFRAMEWORK || NETSTANDARD2_0
            using var command = conn.CreateCommand(cmdText, commandType, transaction, parameters);
#else
            await using var command = conn.CreateCommand(cmdText, commandType, transaction, parameters);
#endif
            using IDataReader reader = await command.ExecuteReaderAsync();

            return(reader.ToExpandoObjects());
        }
        /// <summary>
        /// Execute entity
        /// </summary>
        /// <param name="conn"></param>
        /// <param name="cmdText"></param>
        /// <param name="parameters"></param>
        /// <param name="commandType"></param>
        /// <param name="transaction"></param>
        /// <typeparam name="T"></typeparam>
        /// <returns></returns>
        public static async Task <T> ExecuteEntityAsync <T>(this NpgsqlConnection conn, string cmdText, NpgsqlParameter[] parameters, CommandType commandType,
                                                            NpgsqlTransaction transaction)
            where T : new()
        {
            conn.CheckNull(nameof(conn));
#if NETFRAMEWORK || NETSTANDARD2_0
            using var command = conn.CreateCommand(cmdText, commandType, transaction, parameters);
#else
            await using var command = conn.CreateCommand(cmdText, commandType, transaction, parameters);
#endif
            using IDataReader reader = await command.ExecuteReaderAsync();

            reader.Read();
            return(reader.ToEntity <T>());
        }
        /// <summary>
        /// Execute Reader
        /// </summary>
        /// <param name="conn"></param>
        /// <param name="commandFactory"></param>
        /// <returns></returns>
        public static async Task <NpgsqlDataReader> ExecuteReaderAsync(
            this NpgsqlConnection conn, Action <NpgsqlCommand> commandFactory)
        {
            conn.CheckNull(nameof(conn));
#if NETFRAMEWORK || NETSTANDARD2_0
            using var command = conn.CreateCommand(commandFactory);
#else
            await using var command = conn.CreateCommand(commandFactory);
#endif

#if NET452
            return(command.ExecuteReader());
#else
            return(await command.ExecuteReaderAsync());
#endif
        }
        /// <summary>
        /// Execute Reader
        /// </summary>
        /// <param name="conn"></param>
        /// <param name="cmdText"></param>
        /// <param name="parameters"></param>
        /// <param name="commandType"></param>
        /// <param name="transaction"></param>
        /// <returns></returns>
        public static async Task <NpgsqlDataReader> ExecuteReaderAsync(
            this NpgsqlConnection conn, string cmdText, NpgsqlParameter[] parameters, CommandType commandType, NpgsqlTransaction transaction)
        {
            conn.CheckNull(nameof(conn));
#if NETFRAMEWORK || NETSTANDARD2_0
            using var command = conn.CreateCommand(cmdText, commandType, transaction, parameters);
#else
            await using var command = conn.CreateCommand(cmdText, commandType, transaction, parameters);
#endif

#if NET452
            return(command.ExecuteReader());
#else
            return(await command.ExecuteReaderAsync());
#endif
        }
コード例 #16
0
        /// <summary>
        /// Create command
        /// </summary>
        /// <param name="conn"></param>
        /// <param name="cmdText"></param>
        /// <param name="commandType"></param>
        /// <param name="transaction"></param>
        /// <param name="parameters"></param>
        /// <returns></returns>
        public static NpgsqlCommand CreateCommand(this NpgsqlConnection conn,
                                                  string cmdText, CommandType commandType, NpgsqlTransaction transaction,
                                                  params NpgsqlParameter[] parameters)
        {
            conn.CheckNull(nameof(conn));

            var command = conn.CreateCommand();

            command.CommandText = cmdText;
            command.CommandType = commandType;
            command.Transaction = transaction;

            if (parameters is not null)
            {
                command.Parameters.AddRange(parameters);
            }

            return(command);
        }
 /// <summary>
 /// Execute Reader
 /// </summary>
 /// <param name="conn"></param>
 /// <param name="commandFactory"></param>
 /// <returns></returns>
 public static NpgsqlDataReader ExecuteReader(this NpgsqlConnection conn, Action <NpgsqlCommand> commandFactory)
 {
     conn.CheckNull(nameof(conn));
     using var command = conn.CreateCommand(commandFactory);
     return(command.ExecuteReader());
 }
 /// <summary>
 /// Execute Reader
 /// </summary>
 /// <param name="conn"></param>
 /// <param name="cmdText"></param>
 /// <param name="parameters"></param>
 /// <param name="commandType"></param>
 /// <returns></returns>
 public static Task <NpgsqlDataReader> ExecuteReaderAsync(this NpgsqlConnection conn, string cmdText, NpgsqlParameter[] parameters, CommandType commandType)
 {
     conn.CheckNull(nameof(conn));
     return(conn.ExecuteReaderAsync(cmdText, parameters, commandType, null));
 }
 /// <summary>
 /// Execute Reader
 /// </summary>
 /// <param name="conn"></param>
 /// <param name="cmdText"></param>
 /// <param name="transaction"></param>
 /// <returns></returns>
 public static Task <NpgsqlDataReader> ExecuteReaderAsync(this NpgsqlConnection conn, string cmdText, NpgsqlTransaction transaction)
 {
     conn.CheckNull(nameof(conn));
     return(conn.ExecuteReaderAsync(cmdText, null, CommandType.Text, transaction));
 }
 /// <summary>
 /// Execute scalar
 /// </summary>
 /// <param name="conn"></param>
 /// <param name="cmdText"></param>
 /// <param name="parameters"></param>
 /// <returns></returns>
 public static object ExecuteScalar(this NpgsqlConnection conn, string cmdText, NpgsqlParameter[] parameters)
 {
     conn.CheckNull(nameof(conn));
     return(conn.ExecuteScalar(cmdText, parameters, CommandType.Text, null));
 }
 /// <summary>
 /// Execute scalar
 /// </summary>
 /// <param name="conn"></param>
 /// <param name="cmdText"></param>
 /// <param name="commandType"></param>
 /// <returns></returns>
 public static object ExecuteScalar(this NpgsqlConnection conn, string cmdText, CommandType commandType)
 {
     conn.CheckNull(nameof(conn));
     return(conn.ExecuteScalar(cmdText, null, commandType, null));
 }
 /// <summary>
 /// Execute scalar
 /// </summary>
 /// <param name="conn"></param>
 /// <param name="cmdText"></param>
 /// <param name="transaction"></param>
 /// <returns></returns>
 public static object ExecuteScalar(this NpgsqlConnection conn, string cmdText, NpgsqlTransaction transaction)
 {
     conn.CheckNull(nameof(conn));
     return(conn.ExecuteScalar(cmdText, null, CommandType.Text, transaction));
 }
 /// <summary>
 /// Execute scalar
 /// </summary>
 /// <param name="conn"></param>
 /// <param name="cmdText"></param>
 /// <param name="parameters"></param>
 /// <param name="transaction"></param>
 /// <returns></returns>
 public static Task <object> ExecuteScalarAsync(this NpgsqlConnection conn, string cmdText, NpgsqlParameter[] parameters, NpgsqlTransaction transaction)
 {
     conn.CheckNull(nameof(conn));
     return(conn.ExecuteScalarAsync(cmdText, parameters, CommandType.Text, transaction));
 }
 /// <summary>
 /// Execute scalar
 /// </summary>
 /// <param name="conn"></param>
 /// <param name="commandFactory"></param>
 /// <returns></returns>
 public static Task <object> ExecuteScalarAsync(this NpgsqlConnection conn, Action <NpgsqlCommand> commandFactory)
 {
     conn.CheckNull(nameof(conn));
     using var command = conn.CreateCommand(commandFactory);
     return(command.ExecuteScalarAsync());
 }
コード例 #25
0
 /// <summary>
 /// Execute a set of expando object
 /// </summary>
 /// <param name="conn"></param>
 /// <param name="cmdText"></param>
 /// <param name="parameters"></param>
 /// <param name="commandType"></param>
 /// <returns></returns>
 public static Task <IEnumerable <dynamic> > ExecuteExpandoObjectsAsync(this NpgsqlConnection conn, string cmdText, NpgsqlParameter[] parameters, CommandType commandType)
 {
     conn.CheckNull(nameof(conn));
     return(conn.ExecuteExpandoObjectsAsync(cmdText, parameters, commandType, null));
 }
 /// <summary>
 /// Execute Reader
 /// </summary>
 /// <param name="conn"></param>
 /// <param name="cmdText"></param>
 /// <returns></returns>
 public static NpgsqlDataReader ExecuteReader(this NpgsqlConnection conn, string cmdText)
 {
     conn.CheckNull(nameof(conn));
     return(conn.ExecuteReader(cmdText, null, CommandType.Text, null));
 }
 /// <summary>
 /// Execute Reader
 /// </summary>
 /// <param name="conn"></param>
 /// <param name="cmdText"></param>
 /// <param name="commandType"></param>
 /// <param name="transaction"></param>
 /// <returns></returns>
 public static NpgsqlDataReader ExecuteReader(this NpgsqlConnection conn, string cmdText, CommandType commandType, NpgsqlTransaction transaction)
 {
     conn.CheckNull(nameof(conn));
     return(conn.ExecuteReader(cmdText, null, commandType, transaction));
 }
 /// <summary>
 /// Execute Reader
 /// </summary>
 /// <param name="conn"></param>
 /// <param name="cmdText"></param>
 /// <param name="parameters"></param>
 /// <param name="transaction"></param>
 /// <returns></returns>
 public static NpgsqlDataReader ExecuteReader(this NpgsqlConnection conn, string cmdText, NpgsqlParameter[] parameters, NpgsqlTransaction transaction)
 {
     conn.CheckNull(nameof(conn));
     return(conn.ExecuteReader(cmdText, parameters, CommandType.Text, transaction));
 }
 /// <summary>
 /// Execute scalar
 /// </summary>
 /// <param name="conn"></param>
 /// <param name="cmdText"></param>
 /// <param name="commandType"></param>
 /// <param name="transaction"></param>
 /// <returns></returns>
 public static Task <object> ExecuteScalarAsync(this NpgsqlConnection conn, string cmdText, CommandType commandType, NpgsqlTransaction transaction)
 {
     conn.CheckNull(nameof(conn));
     return(conn.ExecuteScalarAsync(cmdText, null, commandType, transaction));
 }
コード例 #30
0
 /// <summary>
 /// Execute a set of expando object
 /// </summary>
 /// <param name="conn"></param>
 /// <param name="cmdText"></param>
 /// <param name="commandType"></param>
 /// <param name="transaction"></param>
 /// <returns></returns>
 public static IEnumerable <dynamic> ExecuteExpandoObjects(this NpgsqlConnection conn, string cmdText, CommandType commandType, NpgsqlTransaction transaction)
 {
     conn.CheckNull(nameof(conn));
     return(conn.ExecuteExpandoObjects(cmdText, null, commandType, transaction));
 }