示例#1
0
        /// <summary>
        ///
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="condition"></param>
        /// <param name="orderby"></param>
        /// <returns></returns>
        public IList <T> Select <T>(IDictionary <string, object> condition, params string[] orderby)
        {
            IList <T> list = new List <T>();

            string tableName = _database.GetTableName(typeof(T));

            if (!string.IsNullOrEmpty(tableName))
            {
                string[] cols = _database.GetColumnsName(typeof(T));

                Sql sql = Sql.Builder.Select(cols).From(tableName);

                if (condition != null)
                {
                    var index = 0;
                    var s     = BuildConditionSql(condition, ref index);
                    var aaa   = condition.Select(x => x.Value).ToArray();
                    sql = sql.Where(s, condition.Select(x => x.Value).ToArray());
                }

                if (orderby != null)
                {
                    sql = sql.OrderBy(orderby);
                }

                list = _database.Fetch <T>(sql);
            }

            return(list);
        }