From 68981d03acb33ac0b722d4e157208d3e9665fd60 Mon Sep 17 00:00:00 2001 From: 28810 <28810@YEXIANGQIN> Date: Sun, 28 Jun 2020 18:36:26 +0800 Subject: [PATCH] hack mysql ExpressionCall value --- FreeSql/Internal/CommonExpression.cs | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/FreeSql/Internal/CommonExpression.cs b/FreeSql/Internal/CommonExpression.cs index 6507bd24..8ca5c1c0 100644 --- a/FreeSql/Internal/CommonExpression.cs +++ b/FreeSql/Internal/CommonExpression.cs @@ -675,10 +675,19 @@ namespace FreeSql.Internal else if (exp3.Arguments[a].IsParameter()) exp3InvokeParams[a] = exp3.Arguments[a].Type.CreateInstanceGetDefaultValue(); else - exp3InvokeParams[a] = Utils.GetDataReaderValue(exp3.Arguments[a].Type, - eccContent.StartsWith("N'") ? + { + var exp3CsValue = eccContent.StartsWith("N'") ? eccContent.Substring(1).Trim('\'').Replace("''", "'") : - eccContent.Trim('\'').Replace("''", "'")); + eccContent.Trim('\'').Replace("''", "'"); + switch (_ado.DataType) + { + case DataType.MySql: + case DataType.OdbcMySql: + exp3CsValue = exp3CsValue.Replace("\\\\", "\\"); + break; + } + exp3InvokeParams[a] = Utils.GetDataReaderValue(exp3.Arguments[a].Type, exp3CsValue); + } } else exp3InvokeParams[a] = ecc;