- 优化 TypeHandlers 支持 Enum 枚举映射规则;#1634

This commit is contained in:
2881099
2024-02-08 13:06:43 +08:00
parent 91362ad07a
commit 53443dc22b
34 changed files with 120 additions and 529 deletions

View File

@ -10,6 +10,16 @@ namespace FreeSql.Internal.CommonProvider
{
partial class AdoProvider
{
public object AddslashesTypeHandler(Type type, object param)
{
if (Utils.TypeHandlers.TryGetValue(type, out var typeHandler))
{
var result = typeHandler.Serialize(param);
return AddslashesProcessParam(result, null, null);
}
return null;
}
public abstract object AddslashesProcessParam(object param, Type mapType, ColumnInfo mapColumn);
public string Addslashes(string filter, params object[] parms)
{

View File

@ -2509,7 +2509,7 @@ namespace FreeSql.Internal
);
break;
default:
if (type.IsEnum)
if (type.IsEnum && TypeHandlers.ContainsKey(type) == false)
return Expression.Block(
Expression.IfThenElse(
Expression.Equal(Expression.TypeAs(valueExp, typeof(string)), Expression.Constant(string.Empty)),