sqlguar odbc驱动有bug 返回
SqlSugar
待处理
1
315
为森 发布于1个月前
悬赏:5 飞吻
odbc驱动5.1.4.166生成的sql语句有些问题:主要是on后面的表达式引号位置有问题:odbc驱动表达式 "Grxx.GRZH" = "Grzhxx.GRZH" 应该是 "Grxx"."GRZH = "Grzhxx"."GRZH",完整的例子:
_Original_temTable.AsQueryable() .InnerJoin(query_Grzhxx, (Grxx, Grzhxx) => Grxx.Grzh == Grzhxx.GRZH && Grxx.Zxbh == Grzhxx.ZXBH).ToList();
生成的sql语句:
SELECT 省略... FROM "temTable_GRXX" "Grxx" INNER JOIN( SELECT * FROM ( 省略... ) MergeTable ) "Grzhxx" ON ( ( "Grxx.GRZH" = "Grzhxx.GRZH" ) AND( "Grxx.ZXBH" = "Grzhxx.ZXBH" ) )
热忱回答(1)
-
为森 VIP0
1个月前已解决,在源码中的ExpressionsToSql/ExpressionContext.cs 的GetTranslationColumnName 函数中在IsCorrectErrorSqlParameterName为真时存在问题,下面是修改后的代码。
if (this.SugarContext?.Context?.CurrentConnectionConfig?.MoreSettings?.IsCorrectErrorSqlParameterName == true) { if (IsTranslationText(columnName.Replace(" ", ""))) return columnName; else if (columnName.Contains(UtilConstants.Dot)) { return string.Join(UtilConstants.Dot, columnName.Split(UtilConstants.DotChar).Select(it => GetTranslationText(it))); } else return GetTranslationText(columnName); }0 回复