Table of Contents

获取简介

  • Select数据获取组件
  • 本组件用来组装sql的SELECT语句
  • 本组件是对ShadowSql.Core同名组件的泛型扩展
  • 支持对各查询和数据类型特殊处理,增强功能、增加易用性

1. 接口

ISelect

2. 基类

3. 功能类

3.1 TableSelect

3.2 TableCursorSelect

3.3 MultiTableSelect

3.4 MultiTableSelect

3.5 GroupByTableSelect

3.6 GroupByTableCursorSelect

3.7 GroupByMultiSelect

3.8 GroupByMultiCursorSelect

4. ToSelect扩展方法

  • 用于把相关对象导航到对应的Select组件
  • 增加易用性

4.1 ToSelect

4.1.1 导航到TableSelect

  • 获取表
TableSelect<TTable> ToSelect<TTable>(this TTable table)
        where TTable : ITable;
TableSelect<TTable> ToSelect<TTable>(this TTable table, ISqlLogic filter)
        where TTable : ITable;
TableSelect<TTable> ToSelect<TTable>(this TableQuery<TTable> query)
        where TTable : ITable;
TableSelect<TTable> ToSelect<TTable>(this TableSqlQuery<TTable> query)
        where TTable : ITable;

4.1.2 导航到TableCursorSelect

  • 获取表分页
TableCursorSelect<TTable> ToSelect<TTable>(this TableCursor<TTable> cursor)
        where TTable : ITable;

4.1.3 导航到MultiTableSelect

MultiTableSelect ToSelect(this IMultiView table);

4.1.4 导航到MultiTableCursorSelect

  • 获取联表分页
MultiTableCursorSelect ToSelect(this MultiTableCursor cursor);

4.1.5 导航到GroupByTableSelect

  • 获取分组查询
GroupByTableSelect<TTable> ToSelect<TTable>(this GroupByTableSqlQuery<TTable> source)
        where TTable : ITable;
GroupByTableCursorSelect<TTable> ToSelect<TTable>(this GroupByTableCursor<TTable> cursor)
        where TTable : ITable;

4.1.6 导航到GroupByTableCursorSelect

  • 获取分组分页
GroupByTableCursorSelect<TTable> ToSelect<TTable>(this GroupByTableCursor<TTable> cursor)
        where TTable : ITable;

4.1.7 导航到GroupByMultiSelect

  • 获取联表分组查询
GroupByMultiSelect ToSelect(this GroupByMultiTableSqlQuery source);
GroupByMultiSelect ToSelect(this GroupByMultiTableQuery source);

4.1.8 导航到GroupByMultiCursorSelect

  • 获取联表分组分页
GroupByMultiCursorSelect ToSelect(this GroupByMultiTableCursor cursor);

5. 分组筛选扩展方法

5.1 SelectGroupBy扩展方法

  • 筛选当前分组字段
TSelect SelectGroupBy<TSelect>(this TSelect select)
        where TSelect : SelectFieldsBase, IGroupBySelect;

5.2 SelectCount扩展方法

  • 筛选计数
TSelect SelectCount<TSelect>(this TSelect select, string alias = "Count")
        where TSelect : SelectFieldsBase, IGroupBySelect;

5.3 SelectAggregate扩展方法

  • 聚合筛选
TSelect SelectCount<TSelect>(this TSelect select, string alias = "Count")
        where TSelect : SelectFieldsBase, IGroupBySelect;

6. 其他通用功能