From 3a325573ffac061997918898034a55d99ddc2b82 Mon Sep 17 00:00:00 2001 From: sunkaixuna <610262374@qq.com> Date: Thu, 29 Jul 2021 19:24:38 +0800 Subject: [PATCH] Queryable.Clone().As bug --- Src/Asp.Net/SqlServerTest/UnitTest/UQueryable.cs | 8 ++++++++ .../Abstract/QueryableProvider/QueryableProvider.cs | 4 ++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/Src/Asp.Net/SqlServerTest/UnitTest/UQueryable.cs b/Src/Asp.Net/SqlServerTest/UnitTest/UQueryable.cs index 9dff2a2e4..7928a1ef4 100644 --- a/Src/Asp.Net/SqlServerTest/UnitTest/UQueryable.cs +++ b/Src/Asp.Net/SqlServerTest/UnitTest/UQueryable.cs @@ -152,6 +152,14 @@ namespace OrmTest db.Queryable().Where(it => !it.a).ToList(); var test01= db.Queryable().GroupBy(it => new { it.CheckTime.Value.Date }) .Select(it => new { x = it.CheckTime.Value.Date }).ToList(); + var q1 = db.Queryable(); + var x1 = q1.Clone().AS("BoolTest11"); + var x2 = q1.Clone().AS("BoolTest12"); + var q2= db.UnionAll(x1,x2).ToSql(); + if (!q2.Key.Contains("BoolTest11")|| !q2.Key.Contains("BoolTest12")) + { + throw new Exception("unit query error"); + } } diff --git a/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs b/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs index 96eac5508..50e6e2f28 100644 --- a/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs +++ b/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs @@ -2391,8 +2391,8 @@ namespace SqlSugar asyncQueryableBuilder.WhereIndex = this.QueryBuilder.WhereIndex; asyncQueryableBuilder.HavingInfos = this.QueryBuilder.HavingInfos; asyncQueryableBuilder.LambdaExpressions.ParameterIndex = this.QueryBuilder.LambdaExpressions.ParameterIndex; - asyncQueryableBuilder.IgnoreColumns = this.QueryBuilder.IgnoreColumns; - asyncQueryableBuilder.AsTables = this.QueryBuilder.AsTables; + asyncQueryableBuilder.IgnoreColumns = this.Context.Utilities.TranslateCopy(this.QueryBuilder.IgnoreColumns); + asyncQueryableBuilder.AsTables = this.Context.Utilities.TranslateCopy(this.QueryBuilder.AsTables); asyncQueryableBuilder.DisableTop = this.QueryBuilder.DisableTop; asyncQueryableBuilder.Offset = this.QueryBuilder.Offset; }