예제 #1
0
        public static int Update(this IDbConnection connection, dynamic data, dynamic condition, string table, IDbTransaction transaction = null, int?commandTimeout = null)
        {
            var obj          = data as object;
            var properties   = GetProperties(obj);
            var updateFields = string.Join(",", properties.Select(p => p + " = @" + p));

            var conditionObj    = condition as object;
            var whereProperties = GetProperties(conditionObj);

            var where = string.Join(" and ", whereProperties.Select(p => p + " = @" + p));

            var sql = string.Format("update [{0}] set {1} where {2}", table, updateFields, where);

            var parameters = new DynamicParameters(data);

            parameters.AddDynamicParams(condition);

            return(SqlMapper.Execute(connection, sql, parameters, transaction, commandTimeout));
        }
예제 #2
0
        public int Execute(string sql, dynamic param = null, int?commandTimeout = null, CommandType?commandType = null)
#endif
        {
            CreateOrReuseConnection();
            //Dapper expects a connection to be open when calling Execute, so we'll have to open it.
            bool wasClosed = _connection.State == ConnectionState.Closed;

            if (wasClosed)
            {
                _connection.Open();
            }
            try
            {
                return(SqlMapper.Execute(_connection, sql, param, GetCurrentTransaction(), commandTimeout, commandType));
            }
            finally
            {
                if (wasClosed)
                {
                    _connection.Close();
                }
            }
        }
예제 #3
0
 public int Execute(string sql, dynamic param = null)
 {
     return(SqlMapper.Execute(connection, sql, param as object, transaction, commandTimeout: this.commandTimeout));
 }
예제 #4
0
 public static void Update(this IDbConnection cnn, string tableName, dynamic param)
 {
     SqlMapper.Execute(cnn, DynamicQuery.GetUpdateQuery(tableName, param), param);
 }
예제 #5
0
 public static int Execute(this IDbConnection cnn, string sql, object param = null, IDbTransaction transaction = null, int?commandTimeout = null, CommandType?commandType = null)
 {
     TRACE(sql);
     return(SqlMapper.Execute(cnn, sql, param, transaction, commandTimeout, commandType));
 }