public SqlGenerator() { _sql = new FormattedSql(); _sql.InnerWriter = new IndentedTextWriter(_sql.InnerWriter); this.AutoQuota = true; this.MaxItemsInInClause = int.MaxValue; }
/// <summary> /// 执行 Sql 并读取 DataReader 中的值到实体。 /// </summary> /// <param name="dba">The dba.</param> /// <param name="args">The arguments.</param> /// <param name="readType">Type of the read.</param> /// <param name="sql">The SQL.</param> protected void QueryDataReader(IDbAccesser dba, IEntitySelectArgs args, ReadDataType readType, FormattedSql sql) { //查询数据库 using (var reader = dba.QueryDataReader(sql, sql.Parameters)) { //填充到列表中。 this.FillDataIntoList( reader, readType, args.List, args.FetchingFirst, args.PagingInfo, args.MarkTreeFullLoaded ); } }
/// <summary> /// 使用 sql 语句来查询数据表。 /// </summary> /// <param name="sql">Sql 语句.</param> /// <param name="paging">分页信息。</param> /// <returns></returns> public LiteDataTable QueryTable(FormattedSql sql, PagingInfo paging = null) { return this.QueryTable(new TableQueryArgs(sql, paging)); }
/// <summary> /// 使用 sql 语句来查询实体。 /// </summary> /// <param name="sql">sql 语句,返回的结果集的字段,需要保证与属性映射的字段名相同。</param> /// <param name="paging">分页信息。</param> /// <param name="eagerLoad">需要贪婪加载的属性。</param> /// <returns></returns> public EntityList QueryList(FormattedSql sql, PagingInfo paging = null, EagerLoadOptions eagerLoad = null) { var args = new SqlQueryArgs(sql); args.SetDataLoadOptions(paging, eagerLoad); return this.QueryList(args); }
/// <summary> /// 通过一个 FormatSql 来构造。 /// </summary> /// <param name="sql"></param> public SqlQueryArgs(FormattedSql sql) : this(sql, sql.Parameters) { }
/// <summary> /// 使用 sql 语句来查询数据表。 /// </summary> /// <param name="sql">Sql 语句.</param> /// <param name="paging">分页信息。</param> /// <returns></returns> protected LiteDataTable QueryTable(FormattedSql sql, PagingInfo paging = null) { return this.DataQueryer.QueryTable(sql, paging); }
/// <summary> /// 使用 sql 语句来查询实体。 /// </summary> /// <param name="sql">sql 语句,返回的结果集的字段,需要保证与属性映射的字段名相同。</param> /// <param name="paging">分页信息。</param> /// <param name="eagerLoad">需要贪婪加载的属性。</param> /// <returns></returns> protected EntityList QueryList(FormattedSql sql, PagingInfo paging = null, EagerLoadOptions eagerLoad = null) { return this.DataQueryer.QueryList(sql, paging, eagerLoad); }
/// <summary> /// 通过 FormattedSql 及分页信息来构造。 /// </summary> /// <param name="sql">The SQL.</param> /// <param name="pagingInfo">The paging information.</param> public TableQueryArgs(FormattedSql sql, PagingInfo pagingInfo) : this(sql, sql.Parameters) { this.PagingInfo = pagingInfo; }
public SqlGenerator() { _sql = new FormattedSql(); _sql.InnerWriter = new IndentedTextWriter(_sql.InnerWriter); this.AutoQuota = true; }