Exemplo n.º 1
0
        public override SqlProvider FormatToPageList <T>(int pageIndex, int pageSize)
        {
            var orderbySql = ResolveExpression.ResolveOrderBy(SetContext.OrderbyExpressionList);

            if (string.IsNullOrEmpty(orderbySql))
            {
                throw new DapperExtensionException("order by takes precedence over pagelist");
            }

            var selectSql = ResolveExpression.ResolveSelect(typeof(T).GetProperties(), SetContext.SelectExpression);

            var fromTableSql = FormatTableName();

            var nolockSql = ResolveExpression.ResolveWithNoLock(SetContext.NoLock);

            var whereParams = ResolveExpression.ResolveWhere(SetContext.WhereExpression);

            var whereSql = whereParams.SqlCmd;

            Params = whereParams.Param;

            SqlString  = $"SELECT COUNT(1) {fromTableSql} {whereSql};";
            SqlString += $"{selectSql} {fromTableSql} {nolockSql} {whereSql} {orderbySql} LIMIT {(pageIndex - 1) * pageSize},{pageSize}";

            return(this);
        }
Exemplo n.º 2
0
        public override SqlProvider FormatGet <T>()
        {
            var selectSql = ResolveExpression.ResolveSelect(typeof(T).GetProperties(), Context.Set.SelectExpression);

            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} LIMIT 1";

            return(this);
        }
Exemplo n.º 3
0
        public override SqlProvider FormatToList <T>()
        {
            var selectSql = ResolveExpression.ResolveSelect(typeof(T).GetProperties(), Context.Set.SelectExpression);

            var fromTableSql = FormatTableName();

            var whereParams = ResolveExpression.ResolveWhere(Context.Set.WhereExpression);

            var whereSql = whereParams.SqlCmd;

            Params = whereParams.Param;

            var orderbySql = ResolveExpression.ResolveOrderBy(Context.Set.OrderbyExpressionList);

            var topNum = DataBaseContext <T>().QuerySet.TopNum;

            var limitSql = topNum.HasValue ? " LIMIT " + topNum.Value : "";

            SqlString = $"{selectSql} {fromTableSql} {whereSql} {orderbySql} {limitSql}";

            return(this);
        }
Exemplo n.º 4
0
        public override SqlProvider FormatToList <T>()
        {
            var selectSql = ResolveExpression.ResolveSelect(typeof(T).GetProperties(), SelectExpression);

            var fromTableSql = FormatTableName();

            var nolockSql = ResolveExpression.ResolveWithNoLock(NoLock);

            var whereParams = ResolveExpression.ResolveWhere(WhereExpression);

            var whereSql = whereParams.SqlCmd;

            Params = whereParams.Param;

            var orderbySql = ResolveExpression.ResolveOrderBy(OrderbyExpressionList);

            var topNum = TopNum;

            var limitSql = topNum.HasValue ? " LIMIT " + topNum.Value : "";

            SqlString = $"{selectSql} {fromTableSql} {nolockSql} {whereSql}  {orderbySql} {limitSql}";

            return(this);
        }