From 59ca312e958e2fc19b912ed513503942b9e87455 Mon Sep 17 00:00:00 2001 From: xuejmnet <326308290@qq.com> Date: Fri, 10 Feb 2023 08:55:41 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=BD=93props=E5=B1=9E?= =?UTF-8?q?=E6=80=A7=E8=BF=87=E5=A4=9A=E6=97=B6=E7=9A=84=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 优化当props属性过多时且有过多的属性与prop属性类型一样的时候,只需要迭代到第二次即可判断出是否等于1,无需一直迭代到全属性遍历完 --- .../CommonProvider/SelectProvider/Select0ProviderReader.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/FreeSql/Internal/CommonProvider/SelectProvider/Select0ProviderReader.cs b/FreeSql/Internal/CommonProvider/SelectProvider/Select0ProviderReader.cs index 55ea7502..9ac8cfda 100644 --- a/FreeSql/Internal/CommonProvider/SelectProvider/Select0ProviderReader.cs +++ b/FreeSql/Internal/CommonProvider/SelectProvider/Select0ProviderReader.cs @@ -632,7 +632,7 @@ namespace FreeSql.Internal.CommonProvider a.Alias.StartsWith($"{tb.Alias}__") && //开头结尾完全匹配 a.Alias.EndsWith($"__{prop.Name}") //不清楚会不会有其他情况 求大佬优化 ).FirstOrDefault(); //判断 b > 0 防止 parent 递归关系 - if (tb2 == null && props.Where(pw => pw.Value.PropertyType == prop.PropertyType).Count() == 1) + if (tb2 == null && props.Where(pw => pw.Value.PropertyType == prop.PropertyType).Take(2).Count() == 1) tb2 = _tables.Where((a, b) => b > 0 && (a.Type == SelectTableInfoType.InnerJoin || a.Type == SelectTableInfoType.LeftJoin || a.Type == SelectTableInfoType.RightJoin) && string.IsNullOrEmpty(a.On) == false &&