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; }) )) {