From 713f98852cc91e5a00695c2e4e06406a9ee50ff4 Mon Sep 17 00:00:00 2001 From: 2881099 <2881099@qq.com> Date: Wed, 30 Mar 2022 18:37:56 +0800 Subject: [PATCH] =?UTF-8?q?-=20=E4=BF=AE=E5=A4=8D=20UseGenerateCommandPara?= =?UTF-8?q?meterWithLambda=20=E5=AF=B9=E4=B8=8D=E5=8F=AF=E5=8F=82=E6=95=B0?= =?UTF-8?q?=E5=8C=96=E7=9A=84=E6=95=B0=E6=8D=AE=E7=B1=BB=E5=9E=8B=E5=86=B2?= =?UTF-8?q?=E7=AA=81=E7=9A=84=20bug=EF=BC=9B#1061?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FreeSql/Internal/CommonExpression.cs | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/FreeSql/Internal/CommonExpression.cs b/FreeSql/Internal/CommonExpression.cs index 73a23733..1e52e23c 100644 --- a/FreeSql/Internal/CommonExpression.cs +++ b/FreeSql/Internal/CommonExpression.cs @@ -1887,11 +1887,14 @@ namespace FreeSql.Internal if (_common.CodeFirst.IsGenerateCommandParameterWithLambda && dbParams != null) { if (obj == null) return "NULL"; - var paramName = $"exp_{dbParams.Count}"; - if (_common._orm?.Ado.DataType == DataType.GBase) paramName = "?"; - var parm = _common.AppendParamter(dbParams, paramName, mapColumn, - mapType ?? mapColumn?.Attribute.MapType ?? obj?.GetType(), mapType == null ? obj : Utils.GetDataReaderValue(mapType, obj)); - return _common.QuoteParamterName(paramName); + var type = mapType ?? mapColumn?.Attribute.MapType ?? obj?.GetType(); + if (_common.CodeFirst.GetDbInfo(type) != null) + { + var paramName = $"exp_{dbParams.Count}"; + if (_common._orm?.Ado.DataType == DataType.GBase) paramName = "?"; + var parm = _common.AppendParamter(dbParams, paramName, mapColumn, type, mapType == null ? obj : Utils.GetDataReaderValue(mapType, obj)); + return _common.QuoteParamterName(paramName); + } } return string.Format(CultureInfo.InvariantCulture, "{0}", _ado.AddslashesProcessParam(obj, mapType, mapColumn)); //return string.Concat(_ado.AddslashesProcessParam(obj, mapType, mapColumn));