Exemple #1
0
        public override bool Equals(object obj)
        {
            if (this == obj)
            {
                return(true);
            }

            if (obj is PgTrigger trigger)
            {
                var equals = Before == trigger.Before &&
                             ForEachRow == trigger.ForEachRow &&
                             Function.Equals(trigger.Function) &&
                             Name.Equals(trigger.Name) &&
                             OnDelete == trigger.OnDelete &&
                             OnInsert == trigger.OnInsert &&
                             OnUpdate == trigger.OnUpdate &&
                             OnTruncate == trigger.OnTruncate &&
                             TableName.Equals(trigger.TableName);

                if (!equals)
                {
                    return(false);
                }

                return((UpdateColumns.Count == 0 && trigger.UpdateColumns.Count == 0) ||
                       UpdateColumns.All(t1 => trigger.UpdateColumns.Any(t1.EqualsIgnoreCase)));
            }

            return(false);
        }
Exemple #2
0
        protected override string GetUpdateSql()
        {
            string setParamenters     = string.Join(", ", UpdateColumns.Select(p => $"`{p.Name}`=@{p.Name}"));
            string primaryParamenters = string.Join(" AND ", Primary.Select(p => $"`{p.Name}`=@{p.Name}"));

            var sqlBuilder = new StringBuilder();

            sqlBuilder.AppendFormat("UPDATE `{0}`.`{1}` SET {2} WHERE {3};",
                                    Schema.Database,
                                    Schema.TableName,
                                    setParamenters, primaryParamenters);

            return(sqlBuilder.ToString());
        }
Exemple #3
0
        /// <summary>
        /// Perform update table with data from an anonymous object
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="db"></param>
        /// <param name="columns">Select which columns to update from an anonymous object</param>
        /// <param name="cfg">Configure name and other</param>
        /// <returns></returns>
        public static IBuildUpdateTableFrom <T> UpdateFrom <T>(this DbConnection db, Func <IUpdateColumns, IColumnsToUpdate <T> > columns, Action <IHelperOptions> cfg) where  T : class
        {
            var options = new HelperOptions();
            var u       = new UpdateColumns();

            cfg(options);
            options.EnsureTableName(db.GetPocoInfo <T>());
            var builder  = columns(u) as UpdateColumns.CreateBuilder <T>;
            var executor = new CustomSqlExecutor(db);
            var updater  = new UpdateTableBuilder <T>(executor, db.GetExpressionSqlGenerator(), db.Provider(), options);

            builder.PopulateBuilder(updater);
            return(updater);
        }
        protected override string GetSelectSql()
        {
            string selectParamenters  = string.Join(", ", UpdateColumns.Select(p => $"[{p.Name}]"));
            string primaryParamenters = string.Join(" AND ", Primary.Select(p => $"[{p.Name}]=@{p.Name}"));

            var sqlBuilder = new StringBuilder();

            sqlBuilder.AppendFormat("USE {0}; SELECT {1} FROM [{2}] WHERE {3};",
                                    Schema.Database,
                                    selectParamenters,
                                    Schema.TableName,
                                    primaryParamenters);

            return(sqlBuilder.ToString());
        }
Exemple #5
0
        public override string ToPlainQuery()
        {
            StringBuilder sb = new StringBuilder();

            sb.AppendFormat("UPDATE {0} SET {1}", UpdateTable, UpdateColumns.ToString());

            if (FromTableOrQuery() != null)
            {
                sb.AppendFormat(" FROM {0}{1}", FromTableOrQuery(), FromQuery == null ? "" : $" AS {FromQuery.Item2}");
            }

            sb.Append(JoinString);

            if (WhereCondition != null)
            {
                sb.AppendFormat(" WHERE {0}", WhereCondition.ToString());
            }

            return(sb.ToString().Trim());
        }
Exemple #6
0
 public void AddUpdateColumn(string item)
 {
     UpdateColumns.Add(item);
 }