From 65bbee93a2a4100378d44f70ea0b93580201eb15 Mon Sep 17 00:00:00 2001
From: 2881099 <2881099@qq.com>
Date: Fri, 15 Dec 2023 19:55:52 +0800
Subject: [PATCH] =?UTF-8?q?-=20=E4=BF=AE=E5=A4=8D=20=E5=B5=8C=E5=A5=97?=
=?UTF-8?q?=E6=9F=A5=E8=AF=A2DTO=E6=98=A0=E5=B0=84=E5=8F=AF=E8=83=BD?=
=?UTF-8?q?=E8=A7=A6=E5=8F=91=E5=BE=AA=E7=8E=AF=E5=BC=95=E7=94=A8=20bug?=
=?UTF-8?q?=EF=BC=9B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../FreeSql.Extensions.ZoreEntity.csproj | 2 +-
FreeSql/Internal/CommonExpression.cs | 5 ++++-
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/Extensions/FreeSql.Extensions.ZoreEntity/FreeSql.Extensions.ZoreEntity.csproj b/Extensions/FreeSql.Extensions.ZoreEntity/FreeSql.Extensions.ZoreEntity.csproj
index ef3429e8..0ab3de8e 100644
--- a/Extensions/FreeSql.Extensions.ZoreEntity/FreeSql.Extensions.ZoreEntity.csproj
+++ b/Extensions/FreeSql.Extensions.ZoreEntity/FreeSql.Extensions.ZoreEntity.csproj
@@ -18,7 +18,7 @@
true
key.snk
false
- 3.2.807-preview20231214
+ 3.2.806
readme.md
diff --git a/FreeSql/Internal/CommonExpression.cs b/FreeSql/Internal/CommonExpression.cs
index 87656f48..11096ba2 100644
--- a/FreeSql/Internal/CommonExpression.cs
+++ b/FreeSql/Internal/CommonExpression.cs
@@ -2568,6 +2568,7 @@ namespace FreeSql.Internal
{
if (tb == null || dtoProp == null || tb.Parameter == null) return null;
var retList = new List();
+ var matchIgnores = new Dictionary();
var retExp = LocalMatch(tb.Parameter.Type, tb.Parameter);
if (retList.Any() == false) retList.Add(new[] { retExp });
return retList;
@@ -2584,7 +2585,9 @@ namespace FreeSql.Internal
if (Utils.dicExecuteArrayRowReadClassOrTuple.ContainsKey(typeProp.PropertyType)) continue;
if (typeProp.PropertyType.IsAnonymousType() || _common.GetTableByEntity(typeProp.PropertyType)?.Columns.Any() == true)
{
- var nextExp = Expression.MakeMemberAccess(memExp, typeProp);
+ if (matchIgnores.ContainsKey(typeProp)) continue;
+ matchIgnores.Add(typeProp, true);
+ var nextExp = Expression.MakeMemberAccess(memExp, typeProp);
var ret = LocalMatch(typeProp.PropertyType, nextExp);
if (ret != null)
{