From 4f88aae62edcb9da0928415f1ca1578c84ab40c7 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Sun, 19 Mar 2023 17:39:06 +0800 Subject: [PATCH] Synchronization code --- .../Entities/SubQueryToListDefaultT.cs | 12 ++++++++++++ .../Abstract/QueryableProvider/QueryableHelper.cs | 14 ++++++++++++++ .../ExpressionsToSql/Subquery/Subquerable.cs | 2 +- Src/Asp.Net/SqlSugar/SqlSugar.csproj | 1 + 4 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/Entities/SubQueryToListDefaultT.cs diff --git a/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/Entities/SubQueryToListDefaultT.cs b/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/Entities/SubQueryToListDefaultT.cs new file mode 100644 index 000000000..16b357086 --- /dev/null +++ b/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/Entities/SubQueryToListDefaultT.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace SqlSugar +{ + internal class SubQueryToListDefaultT + { + public int id { get; set; } + public object sugarIndex { get; set; } + } +} diff --git a/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableHelper.cs b/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableHelper.cs index 095c8c77e..d3f83bb2c 100644 --- a/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableHelper.cs +++ b/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableHelper.cs @@ -1778,6 +1778,12 @@ namespace SqlSugar isFirst = true; } var sqlstring = string.Join(" \r\n UNION ALL ", sqls); + if (callType?.IsClass() == false) + { + Regex regex = new Regex(@"\,\d{1,10} as sugarIndex"); + sqlstring = regex.Replace(sqlstring, it=> (" as id " + it.Value)); + callType = typeof(SubQueryToListDefaultT); + } var methodParamters = new object[] { sqlstring, ps.ToArray() }; this.QueryBuilder.SubToListParameters = null; this.QueryBuilder.AppendColumns = new List() { @@ -1818,6 +1824,10 @@ namespace SqlSugar if (appValue[0].Value.ObjToInt() == i) { var addItem = list[appindex]; + if (addItem is SubQueryToListDefaultT) + { + addItem = (addItem as SubQueryToListDefaultT).id; + } setValue.Add(addItem); } appindex++; @@ -1899,6 +1909,10 @@ namespace SqlSugar if (appValue[0].Value.ObjToInt() == resIndex) { var addItem = list[appindex]; + if (addItem is SubQueryToListDefaultT) + { + addItem= ((SubQueryToListDefaultT)addItem).id; + } setValue.Add(addItem); } appindex++; diff --git a/Src/Asp.Net/SqlSugar/ExpressionsToSql/Subquery/Subquerable.cs b/Src/Asp.Net/SqlSugar/ExpressionsToSql/Subquery/Subquerable.cs index 36d0c7e44..c31e20e6d 100644 --- a/Src/Asp.Net/SqlSugar/ExpressionsToSql/Subquery/Subquerable.cs +++ b/Src/Asp.Net/SqlSugar/ExpressionsToSql/Subquery/Subquerable.cs @@ -176,7 +176,7 @@ namespace SqlSugar return new List(); } - public List ToList(Func selector) where TResult:class,new() + public List ToList(Func selector) { return null; } diff --git a/Src/Asp.Net/SqlSugar/SqlSugar.csproj b/Src/Asp.Net/SqlSugar/SqlSugar.csproj index 08f89d2d1..b5e574926 100644 --- a/Src/Asp.Net/SqlSugar/SqlSugar.csproj +++ b/Src/Asp.Net/SqlSugar/SqlSugar.csproj @@ -119,6 +119,7 @@ +