/// <summary> /// 升序 /// </summary> /// <param name="orderBy"></param> /// <returns></returns> public IFrom <T> Asc(Expression <Func <T, object> > orderBy) { var name = WhererVisitor.GetColumnName <T>(orderBy.Body); OrderBy(string.Format("{0} ASC", name)); return(this); }
/// <summary> /// Lambda Set /// </summary> /// <param name="expression"></param> /// <returns></returns> public IFrom <T> Set(Expression <Func <T, bool> > expression) { var setsql = new WhererVisitor().Build <T>(ref Param, new WhereQuery <T>().And(expression).Expressions).Trim(new char[] { '(', ')' }) + ")"; Set(setsql); return(this); }
/// <summary> /// 更新指定字段 /// </summary> /// <param name="expression"></param> /// <param name="value"></param> /// <returns></returns> public IFrom <T> Set(Expression <Func <T, object> > expression, object value) { var column = WhererVisitor.GetColumnName <T>(expression.Body); var field = TypeMapper.GetFieldName <T>(column); _set.AppendFormat("{0}{1} = @{2}", _set.Length == 0 ? "" : ",", column, TypeMapper.GetFieldName <T>(column)); Param.Add("@" + field, value); return(this); }
/// <summary> /// 分组查询 /// </summary> /// <param name="expression"></param> /// <returns></returns> public IFrom <T> GroupBy(Expression <Func <T, object> > expression) { GroupBy(string.Format("{0}", string.Join(",", WhererVisitor.GetColumnNames(expression)))); return(this); }
/// <summary> /// 异步查询单个实体:指定查询列 /// </summary> /// <param name="expression"></param> /// <returns></returns> public Task <IEnumerable <T> > SingleAsync(Expression <Func <T, object> > expression) { var task = SingleAsync(string.Join(",", WhererVisitor.GetColumnNames <T>(expression))); return(task); }
/// <summary> /// 查询单个数据:指定查询列 /// </summary> /// <param name="expression">字段列表</param> /// <returns></returns> public T Single(Expression <Func <T, object> > expression) { var data = Single(string.Join(",", WhererVisitor.GetColumnNames <T>(expression))); return(data); }
/// <summary> /// 异步查询:指定字段列表 /// </summary> /// <param name="expression"></param> /// <returns></returns> public Task <IEnumerable <T> > SelectAsync(Expression <Func <T, object> > expression) { var data = SelectAsync(string.Join(",", WhererVisitor.GetColumnNames(expression))); return(data); }
/// <summary> /// 查询数据:指定字段列表 /// </summary> /// <param name="expression">字段列表</param> /// <returns></returns> public List <T> Select(Expression <Func <T, object> > expression) { var data = Select(string.Join(",", WhererVisitor.GetColumnNames(expression))); return(data); }