123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- using Ant.Common;
- using Ant.ORM;
- using Ant.Utility;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- namespace Ant.DbExpressions
- {
- /// <summary>
- ///
- /// </summary>
- public class DbSqlQueryExpression : DbExpression
- {
- /// <summary>
- /// 数据库SQL解析
- /// </summary>
- public DbSqlQueryExpression()
- : base(DbExpressionType.SqlQuery, UtilConstants.TypeOfVoid)
- {
- this.ColumnSegments = new List<DbColumnSegment>();
- this.GroupSegments = new List<DbExpression>();
- this.Orderings = new List<DbOrdering>();
- }
- /// <summary>
- /// TOP条数
- /// </summary>
- public int? TakeCount { get; set; }
- /// <summary>
- /// 跳过用于分页
- /// </summary>
- public int? SkipCount { get; set; }
- /// <summary>
- /// 所有列
- /// </summary>
- public List<DbColumnSegment> ColumnSegments { get; private set; }
- /// <summary>
- /// 表名
- /// </summary>
- public DbFromTableExpression Table { get; set; }
- /// <summary>
- /// 查询条件
- /// </summary>
- public DbExpression Condition { get; set; }
- /// <summary>
- /// 拼接查询条件
- /// </summary>
- public IPredicate Predicate
- {
- get;
- set;
- }
- /// <summary>
- /// 分组列表
- /// </summary>
- public List<DbExpression> GroupSegments { get; private set; }
- /// <summary>
- /// 分组条件
- /// </summary>
- public DbExpression HavingCondition { get; set; }
- /// <summary>
- /// 排序
- /// </summary>
- public List<DbOrdering> Orderings { get; private set; }
- /// <summary>
- ///
- /// </summary>
- /// <typeparam name="T"></typeparam>
- /// <param name="visitor"></param>
- /// <returns></returns>
- public override T Accept<T>(DbExpressionVisitor<T> visitor)
- {
- return visitor.Visit(this);
- }
- }
- }
|