Esempio n. 1
0
        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));
            }
        }
Esempio n. 2
0
        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()));
        }