diff --git a/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ResolveItems/BaseResolve_NewExp.cs b/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ResolveItems/BaseResolve_NewExp.cs index 25d8dddfe..460b5e88b 100644 --- a/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ResolveItems/BaseResolve_NewExp.cs +++ b/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ResolveItems/BaseResolve_NewExp.cs @@ -79,7 +79,7 @@ namespace SqlSugar { ResolveUnaryExpConst(parameter, item, asName); } - else if (item is BinaryExpression) + else if (ExpressionTool.RemoveConvert(item) is BinaryExpression) { ResolveBinary(item, asName); } diff --git a/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ResolveItems/OneToManyNavgateExpressionN.cs b/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ResolveItems/OneToManyNavgateExpressionN.cs index cac1e1ffb..e53a789ac 100644 --- a/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ResolveItems/OneToManyNavgateExpressionN.cs +++ b/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ResolveItems/OneToManyNavgateExpressionN.cs @@ -261,6 +261,14 @@ namespace SqlSugar .Replace(sqlBuilder.SqlTranslationRight, "\\" + sqlBuilder.SqlTranslationRight) .Replace("\\\\","\\"); + if (!regex.IsMatch(this.whereSql)) + { + regex = $@"\{sqlBuilder.SqlTranslationLeft}\w+\{sqlBuilder.SqlTranslationRight}\." + sqlBuilder.GetTranslationColumnName(it.DbColumnName) + .Replace(sqlBuilder.SqlTranslationLeft, "\\" + sqlBuilder.SqlTranslationLeft) + .Replace(sqlBuilder.SqlTranslationRight, "\\" + sqlBuilder.SqlTranslationRight) + .Replace("\\\\", "\\"); + } + this.whereSql =Regex.Replace(this.whereSql, regex, lastShortName + "." + sqlBuilder.GetTranslationColumnName(it.DbColumnName)); }