From 4ef38817ffdf5b623332cdcf7a0ef239e882ec5a Mon Sep 17 00:00:00 2001 From: 2881099 <2881099@qq.com> Date: Thu, 12 Nov 2020 05:11:05 +0800 Subject: [PATCH] =?UTF-8?q?-=20=E4=BF=AE=E5=A4=8D=20=E5=AE=9E=E4=BD=93?= =?UTF-8?q?=E7=B1=BB=E6=8B=A5=E6=9C=89=E6=9E=84=E9=80=A0=E5=8F=82=E6=95=B0?= =?UTF-8?q?=E6=97=B6=EF=BC=8CToList\=20=E6=98=A0=E5=B0=84=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E6=97=A0=E6=95=88=E7=9A=84=20bug=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FreeSql.Tests/FreeSql.Tests/UnitTest4.cs | 3 +++ FreeSql/Internal/CommonExpression.cs | 6 +++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/FreeSql.Tests/FreeSql.Tests/UnitTest4.cs b/FreeSql.Tests/FreeSql.Tests/UnitTest4.cs index 672b4cdf..09bce801 100644 --- a/FreeSql.Tests/FreeSql.Tests/UnitTest4.cs +++ b/FreeSql.Tests/FreeSql.Tests/UnitTest4.cs @@ -15,6 +15,7 @@ namespace FreeSql.Tests { public ts_record parent { get; set; } } + public record ts_record_dto(DateTime Date, int TemperatureC, string Summary); [Fact] public void LeftJoinNull01() @@ -24,6 +25,8 @@ namespace FreeSql.Tests fsql.Delete().Where("1=1").ExecuteAffrows(); fsql.Insert(new ts_record(DateTime.Now, 1, 2, "123")).ExecuteAffrows(); var fores = fsql.Select().ToList(); + var fores_dtos1 = fsql.Select().ToList(); + var fores_dtos2 = fsql.Select().ToList(a => new ts_record_dto(a.Date, a.TemperatureC, a.Summary)); diff --git a/FreeSql/Internal/CommonExpression.cs b/FreeSql/Internal/CommonExpression.cs index 0952cf1f..b173c125 100644 --- a/FreeSql/Internal/CommonExpression.cs +++ b/FreeSql/Internal/CommonExpression.cs @@ -273,9 +273,9 @@ namespace FreeSql.Internal { if (a.NodeType != ExpressionType.Constant) return true; var constVal = (a as ConstantExpression)?.Value; - if (constVal == null) return true; - if (object.Equals(constVal, a.Type.CreateInstanceGetDefaultValue()) == false) return true; - return false; + if (constVal == null) return false; //- 修复 实体类拥有构造参数时,ToList\ 映射查询无效的 bug; + if (object.Equals(constVal, a.Type.CreateInstanceGetDefaultValue())) return false; + return true; }) )) {