//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); }
/// <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); }