mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-11-08 10:24:55 +08:00
Optimization Mergetable
This commit is contained in:
@@ -609,15 +609,8 @@ namespace SqlSugar
|
|||||||
Check.Exception(this.MapperAction != null || this.MapperActionWithCache != null, "'Mapper’ needs to be written after ‘MergeTable’ ");
|
Check.Exception(this.MapperAction != null || this.MapperActionWithCache != null, "'Mapper’ needs to be written after ‘MergeTable’ ");
|
||||||
Check.Exception(this.QueryBuilder.SelectValue.IsNullOrEmpty(), "MergeTable need to use Queryable.Select Method .");
|
Check.Exception(this.QueryBuilder.SelectValue.IsNullOrEmpty(), "MergeTable need to use Queryable.Select Method .");
|
||||||
Check.Exception(this.QueryBuilder.Skip > 0 || this.QueryBuilder.Take > 0 || this.QueryBuilder.OrderByValue.HasValue(), "MergeTable Queryable cannot Take Skip OrderBy PageToList ");
|
Check.Exception(this.QueryBuilder.Skip > 0 || this.QueryBuilder.Take > 0 || this.QueryBuilder.OrderByValue.HasValue(), "MergeTable Queryable cannot Take Skip OrderBy PageToList ");
|
||||||
ToSqlBefore();
|
var sqlobj = this.ToSql();
|
||||||
var sql = QueryBuilder.ToSqlString();
|
return this.Context.Queryable<T>().AS(SqlBuilder.GetPackTable(sqlobj.Key, "MergeTable")).AddParameters(sqlobj.Value).Select("*").With(SqlWith.Null);
|
||||||
var tableName = this.SqlBuilder.GetPackTable(sql, "MergeTable");
|
|
||||||
var mergeQueryable = this.Context.Queryable<ExpandoObject>();
|
|
||||||
mergeQueryable.QueryBuilder.Parameters = QueryBuilder.Parameters;
|
|
||||||
mergeQueryable.QueryBuilder.WhereIndex = QueryBuilder.WhereIndex + 1;
|
|
||||||
mergeQueryable.QueryBuilder.JoinIndex = QueryBuilder.JoinIndex + 1;
|
|
||||||
mergeQueryable.QueryBuilder.LambdaExpressions.ParameterIndex = QueryBuilder.LambdaExpressions.ParameterIndex;
|
|
||||||
return mergeQueryable.AS(tableName).Select<T>("*");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public ISugarQueryable<T> Distinct()
|
public ISugarQueryable<T> Distinct()
|
||||||
|
|||||||
Reference in New Issue
Block a user