public static List <T> QueryTable <T>(SqlTransaction transaction, ColumnFilterList filter_list) where T : IEntity, new() { if (filter_list.Count > 0) { EntityAttribute attr = GetEntityAttribute(typeof(T)); StringBuilder sb = new StringBuilder(100); ParameterBuilder paramlist = new ParameterBuilder(filter_list.Count); sb.Append(" select * from ["); sb.Append(attr.TableName); sb.Append("] "); for (int i = 0; i < filter_list.Count; i++) { sb.Append(i > 0 ? " and " : " where "); string param_name = string.Format("@__{0}__", filter_list[i].Name); sb.AppendFormat(" [{0}] = {1} ", filter_list[i].Name, param_name); paramlist.Add(param_name, filter_list[i].Value); } return(GetListBySql <T>(transaction, sb.ToString(), paramlist.ToArray())); } else { return(GetAll <T>(transaction)); } }
public static int DeleteTable <T>(string connection_string, ColumnFilterList filter_list) where T : IEntity, new() { EntityAttribute attr = GetEntityAttribute(typeof(T)); StringBuilder sb = new StringBuilder(100); ParameterBuilder paramlist = new ParameterBuilder(filter_list.Count); sb.Append(" delete from ["); sb.Append(attr.TableName); sb.Append("] "); for (int i = 0; i < filter_list.Count; i++) { sb.Append(i > 0 ? " and " : " where "); string param_name = string.Format("@__{0}__", filter_list[i].Name); sb.AppendFormat(" [{0}] = {1} ", filter_list[i].Name, param_name); paramlist.Add(param_name, filter_list[i].Value); } // return GetListBySql<T>(transaction, sb.ToString(), paramlist.ToArray()); return(ExecuteNonQuery(connection_string, CommandType.Text, sb.ToString(), paramlist.ToArray())); }