public override SqlProvider FormatCount() { var selectSql = "SELECT COUNT(1)"; var fromTableSql = FormatTableName(); var whereParams = ResolveExpression.ResolveWhere(Context.Set.WhereExpression); var whereSql = whereParams.SqlCmd; Params = whereParams.Param; SqlString = $"{selectSql} {fromTableSql} {whereSql} "; return(this); }
public override SqlProvider FormatSum <T>(LambdaExpression lambdaExpression) { var selectSql = ResolveExpression.ResolveSum(typeof(T).GetProperties(), lambdaExpression); var fromTableSql = FormatTableName(); var whereParams = ResolveExpression.ResolveWhere(Context.Set.WhereExpression); var whereSql = whereParams.SqlCmd; Params = whereParams.Param; SqlString = $"{selectSql} {fromTableSql} {whereSql} "; return(this); }
public override SqlProvider FormatExists() { var selectSql = "SELECT TOP 1 1"; var fromTableSql = FormatTableName(); var nolockSql = ResolveExpression.ResolveWithNoLock(SetContext.NoLock); var whereParams = ResolveExpression.ResolveWhere(SetContext.WhereExpression); var whereSql = whereParams.SqlCmd; Params = whereParams.Param; SqlString = $"{selectSql} {fromTableSql} {nolockSql} {whereSql}"; return(this); }
public override SqlProvider FormatGet <T>() { var selectSql = ResolveExpression.ResolveSelect(typeof(T).GetProperties(), Context.Set.SelectExpression, 1); var fromTableSql = FormatTableName(); var whereParams = ResolveExpression.ResolveWhere(Context.Set.WhereExpression); var whereSql = whereParams.SqlCmd; Params = whereParams.Param; var orderbySql = ResolveExpression.ResolveOrderBy(Context.Set.OrderbyExpressionList); SqlString = $"{selectSql} {fromTableSql} {whereSql} {orderbySql}"; return(this); }
public override SqlProvider FormatUpdateSelect <T>(Expression <Func <T, T> > updator) { var update = ResolveExpression.ResolveUpdate(updator); var selectSql = ResolveExpression.ResolveSelectOfUpdate(typeof(T).GetProperties(), SetContext.SelectExpression); var where = ResolveExpression.ResolveWhere(SetContext.WhereExpression); var whereSql = where.SqlCmd; Params = where.Param; Params.AddDynamicParams(update.Param); var topNum = SetContext.TopNum; var topSql = topNum.HasValue ? $" TOP ({topNum.Value})" : ""; SqlString = $"UPDATE {topSql} {FormatTableName(false)} WITH ( UPDLOCK, READPAST ) {update.SqlCmd} {selectSql} {whereSql}"; return(this); }
public override SqlProvider FormatToList <T>() { var topNum = SetContext.TopNum; var selectSql = ResolveExpression.ResolveSelect(typeof(T).GetProperties(), SetContext.SelectExpression, topNum); var fromTableSql = FormatTableName(); var nolockSql = ResolveExpression.ResolveWithNoLock(SetContext.NoLock); var whereParams = ResolveExpression.ResolveWhere(SetContext.WhereExpression); var whereSql = whereParams.SqlCmd; Params = whereParams.Param; var orderbySql = ResolveExpression.ResolveOrderBy(SetContext.OrderbyExpressionList); SqlString = $"{selectSql} {fromTableSql} {nolockSql} {whereSql} {orderbySql}"; return(this); }