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