Пример #1
0
        //UpdateExtensions

        /// <summary>
        /// Select what you want columns
        /// </summary>
        public static COASqlUpdateData <T> SelectColums <T>(this COASqlUpdateData <T> data, Expression <Func <T, object> > select)
        {
            var SelectedColums = Types.GetAllTypes(select);
            var updateQuery    = new StringBuilder($"UPDATE {data.TableName} SET ");

            data.SelectedColumns.Clear();
            SelectedColums.Name.ForEach(colums =>
            {
                if (!colums.Equals(data.PrimaryKeyName))
                {
                    if (data.DataBaseType == COADataBaseTypes.Sql)
                    {
                        updateQuery.Append($"{colums}=@{colums},");
                    }
                    else
                    {
                        updateQuery.Append($"{colums}=:{colums},");
                    }
                    data.SelectedColumns.Add(colums);
                }
            });

            updateQuery.Remove(updateQuery.Length - 1, 1);
            updateQuery.Append(data.WhereQuery);
            data.SqlQuery = updateQuery.ToString();
            return(data);
        }
Пример #2
0
        /// <summary>
        /// Remove what you want columns
        /// </summary>
        public static COASqlUpdateData <T> RemoveColums <T>(this COASqlUpdateData <T> data, Expression <Func <T, object> > select)
        {
            List <string> Columns        = new List <string>();
            var           SelectedColums = Types.GetAllTypes(select);

            if (data.SelectedColumns == null || data.SelectedColumns.Count == 0)
            {
                Columns = Types.GenerateListOfProperties(typeof(T).GetProperties());
            }
            else
            {
                Columns = new List <string>(data.SelectedColumns);
            }
            var updateQuery = new StringBuilder($"UPDATE {data.TableName} SET ");

            data.SelectedColumns.Clear();
            Columns.ForEach(colums =>
            {
                if (!colums.Equals(data.PrimaryKeyName))
                {
                    SelectedColums.Name.ForEach(selcomuns =>
                    {
                        if (!colums.Equals(selcomuns))
                        {
                            if (data.DataBaseType == COADataBaseTypes.Sql)
                            {
                                updateQuery.Append($"{colums}=@{colums},");
                            }
                            else
                            {
                                updateQuery.Append($"{colums}=:{colums},");
                            }
                            data.SelectedColumns.Add(colums);
                        }
                    });
                }
            });
            updateQuery.Remove(updateQuery.Length - 1, 1);
            updateQuery.Append(data.WhereQuery);
            data.SqlQuery = updateQuery.ToString();

            return(data);
        }