From a7c9b5ffb8ae0e116cf86b47320cc7b3f012eb92 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Tue, 14 Feb 2023 01:30:48 +0800 Subject: [PATCH] Synchronization code --- .../SqlBuilderProvider/QueryBuilder.cs | 24 +++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/Src/Asp.NetCore2/SqlSugar/Abstract/SqlBuilderProvider/QueryBuilder.cs b/Src/Asp.NetCore2/SqlSugar/Abstract/SqlBuilderProvider/QueryBuilder.cs index e1f21ba65..048ded332 100644 --- a/Src/Asp.NetCore2/SqlSugar/Abstract/SqlBuilderProvider/QueryBuilder.cs +++ b/Src/Asp.NetCore2/SqlSugar/Abstract/SqlBuilderProvider/QueryBuilder.cs @@ -688,14 +688,19 @@ namespace SqlSugar } protected string SubToListMethod(string result) { + string oldResult = result; List names = new List(); var allShortName = new List(); + if (IsSingleSubToList()) + { + this.TableShortName = (SelectValue as LambdaExpression).Parameters[0].Name; + } allShortName.Add(this.Builder.SqlTranslationLeft + Builder.GetNoTranslationColumnName(this.TableShortName.ObjToString().ToLower()) + this.Builder.SqlTranslationRight + "."); if (this.JoinQueryInfos.HasValue()) { foreach (var item in this.JoinQueryInfos) { - allShortName.Add(this.Builder.SqlTranslationLeft + Builder.GetNoTranslationColumnName(item.ShortName.ObjToString().ToLower() ) + this.Builder.SqlTranslationRight + "."); + allShortName.Add(this.Builder.SqlTranslationLeft + Builder.GetNoTranslationColumnName(item.ShortName.ObjToString().ToLower()) + this.Builder.SqlTranslationRight + "."); } } else if (this.EasyJoinInfos != null && this.EasyJoinInfos.Any()) @@ -732,9 +737,13 @@ namespace SqlSugar this.AppendColumns = colums; } } - + if (HasAppText(oldResult)) + { + return oldResult; + } return result; } + #endregion #region Get SQL Partial @@ -1018,5 +1027,16 @@ namespace SqlSugar } } } + private bool IsSingleSubToList() + { + return this.SubToListParameters != null + && this.TableShortName == null + && this.SelectValue is Expression + && this.IsSingle(); + } + private static bool HasAppText(string result) + { + return result.HasValue() && result.Contains("app_ext_col_0"); + } } }