We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
升级到 3.2.811 版本后,分组聚合语法解析异常,回退至 3.2.808 正常解析不报错
= await _orderRepository.Orm.Select<Order>().FromQuery(_orderRepository.Orm.Select<OrderView>(), _orderRepository.Orm.Select<MemberSettlementDto>().WithMemory(memberInfos)) .InnerJoin(t => t.t1.MemberId == t.t3.Id) .LeftJoin(t => t.t1.Id == t.t2.Id) .Where(t => t.t1.OrderStatusInt >= OrderStatusEnum.OrderToProduce.ToInt64() && t.t1.OrderStatusInt != OrderStatusEnum.OrderCanceled.ToInt64()) .Where(t => (t.t1.OrderAmount ?? 0) - (t.t1.PayAmount ?? 0) + (t.t1.RefundedAmount ?? 0) > 0) .DisableGlobalFilter(ZhonTaiConsts.FilterNames.Member, ZhonTaiConsts.FilterNames.Tenant, XchainConsts.FilterNames.CopartnerOrg) .GroupBy(t => t.t1.MemberId) .ToListAsync(t => new { MemberId = t.Key, NoSettleTime = t.Min(t.Value.Item2.NoSettleTime ?? DateTime.MaxValue), NoSettleAmount = t.Sum(t.Value.Item1.OrderAmount - (t.Value.Item1.PayAmount ?? 0) + (t.Value.Item1.RefundedAmount ?? 0)), NoSettleAmountOfOverdue = t.Sum((t.Value.Item2.NoSettleTime.HasValue && t.Value.Item3.CustomerNoSettleTime.HasValue && (t.Value.Item2.NoSettleTime.Value < t.Value.Item3.CustomerNoSettleTime.Value)) ? (t.Value.Item1.OrderAmount - (t.Value.Item1.PayAmount ?? 0) + (t.Value.Item1.RefundedAmount ?? 0)) : 0) } );
其中
NoSettleAmountOfOverdue = t.Sum((t.Value.Item2.NoSettleTime.HasValue && t.Value.Item3.CustomerNoSettleTime.HasValue && (t.Value.Item2.NoSettleTime.Value < t.Value.Item3.CustomerNoSettleTime.Value)) ? (t.Value.Item1.OrderAmount - (t.Value.Item1.PayAmount ?? 0) + (t.Value.Item1.RefundedAmount ?? 0)) : 0)
语法解析错误
System.ArgumentException: ExpressionTree 转换类型错误,值(True),类型(System.Boolean),目标类型(System.Nullable1[[System.DateTime, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]),Invalid cast from 'Boolean' to 'DateTime'. at FreeSql.Internal.Utils.GetDataReaderValue(Type type, Object value) at FreeSql.MySql.MySqlAdo.AddslashesProcessParam(Object param, Type mapType, ColumnInfo mapColumn) at FreeSql.Internal.CommonExpression.formatSql(Object obj, Type mapType, ColumnInfo mapColumn, List1 dbParams) at FreeSql.Internal.CommonExpression.ExpressionBinary(String oper, Expression leftExp, Expression rightExp, ExpTSC tsc) at FreeSql.Internal.CommonExpression.ExpressionLambdaToSql(Expression exp, ExpTSC tsc) at FreeSql.Internal.CommonExpression.ExpressionBinary(String oper, Expression leftExp, Expression rightExp, ExpTSC tsc) at FreeSql.Internal.CommonExpression.ExpressionLambdaToSql(Expression exp, ExpTSC tsc) at FreeSql.Internal.CommonExpression.ExpressionLambdaToSql(Expression exp, ExpTSC tsc) at FreeSql.Internal.CommonExpression.ExpressionLambdaToSql(Expression exp, ExpTSC tsc)
1[[System.DateTime, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]),Invalid cast from 'Boolean' to 'DateTime'. at FreeSql.Internal.Utils.GetDataReaderValue(Type type, Object value) at FreeSql.MySql.MySqlAdo.AddslashesProcessParam(Object param, Type mapType, ColumnInfo mapColumn) at FreeSql.Internal.CommonExpression.formatSql(Object obj, Type mapType, ColumnInfo mapColumn, List
Mysql 8.0.32
3.2.811
.NET7
The text was updated successfully, but these errors were encountered:
#1727 这个问题呢,应该和这个有关
Sorry, something went wrong.
v3.2.812 v3.2.811 #1730 #1727 #1725 #1724 #1712
0a6ad65
No branches or pull requests
问题描述及重现代码:
升级到 3.2.811 版本后,分组聚合语法解析异常,回退至 3.2.808 正常解析不报错
其中
NoSettleAmountOfOverdue = t.Sum((t.Value.Item2.NoSettleTime.HasValue && t.Value.Item3.CustomerNoSettleTime.HasValue && (t.Value.Item2.NoSettleTime.Value < t.Value.Item3.CustomerNoSettleTime.Value)) ? (t.Value.Item1.OrderAmount - (t.Value.Item1.PayAmount ?? 0) + (t.Value.Item1.RefundedAmount ?? 0)) : 0)
语法解析错误
System.ArgumentException: ExpressionTree 转换类型错误,值(True),类型(System.Boolean),目标类型(System.Nullable
1[[System.DateTime, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]),Invalid cast from 'Boolean' to 'DateTime'. at FreeSql.Internal.Utils.GetDataReaderValue(Type type, Object value) at FreeSql.MySql.MySqlAdo.AddslashesProcessParam(Object param, Type mapType, ColumnInfo mapColumn) at FreeSql.Internal.CommonExpression.formatSql(Object obj, Type mapType, ColumnInfo mapColumn, List
1 dbParams)at FreeSql.Internal.CommonExpression.ExpressionBinary(String oper, Expression leftExp, Expression rightExp, ExpTSC tsc)
at FreeSql.Internal.CommonExpression.ExpressionLambdaToSql(Expression exp, ExpTSC tsc)
at FreeSql.Internal.CommonExpression.ExpressionBinary(String oper, Expression leftExp, Expression rightExp, ExpTSC tsc)
at FreeSql.Internal.CommonExpression.ExpressionLambdaToSql(Expression exp, ExpTSC tsc)
at FreeSql.Internal.CommonExpression.ExpressionLambdaToSql(Expression exp, ExpTSC tsc)
at FreeSql.Internal.CommonExpression.ExpressionLambdaToSql(Expression exp, ExpTSC tsc)
数据库版本
Mysql 8.0.32
安装的Nuget包
3.2.811
.net framework/. net core
.NET7
The text was updated successfully, but these errors were encountered: