mirror of
https://github.com/nsnail/FreeSql.git
synced 2025-06-19 20:38:16 +08:00
v3.2.701-preview20230829
This commit is contained in:
@ -17,7 +17,7 @@
|
||||
<SignAssembly>true</SignAssembly>
|
||||
<AssemblyOriginatorKeyFile>key.snk</AssemblyOriginatorKeyFile>
|
||||
<DelaySign>false</DelaySign>
|
||||
<Version>3.2.701-preview20230828</Version>
|
||||
<Version>3.2.701-preview20230829</Version>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
@ -581,14 +581,17 @@ namespace FreeSql
|
||||
{
|
||||
FreeSql.Internal.Utils.GetDataReaderValueBlockExpressionSwitchTypeFullName.Add((LabelTarget returnTarget, Expression valueExp, Type type2) =>
|
||||
{
|
||||
if (FreeSql.Internal.Utils.TypeHandlers.TryGetValue(type2, out var typeHandler)) return Expression.IfThenElse(
|
||||
Expression.TypeIs(valueExp, type2),
|
||||
Expression.Return(returnTarget, valueExp),
|
||||
Expression.Return(returnTarget, Expression.TypeAs(Expression.Call(
|
||||
if (FreeSql.Internal.Utils.TypeHandlers.TryGetValue(type2, out var typeHandler)) {
|
||||
var valueExpRet = Expression.Call(
|
||||
Expression.Constant(typeHandler, typeof(ITypeHandler)),
|
||||
typeof(ITypeHandler).GetMethod(nameof(typeHandler.Deserialize)),
|
||||
Expression.Convert(valueExp, typeof(object))), type2))
|
||||
Expression.Convert(valueExp, typeof(object)));
|
||||
return Expression.IfThenElse(
|
||||
Expression.TypeIs(valueExp, type2),
|
||||
Expression.Return(returnTarget, valueExp),
|
||||
Expression.Return(returnTarget, Expression.Convert(valueExpRet, type2))
|
||||
);
|
||||
}
|
||||
return null;
|
||||
});
|
||||
}
|
||||
|
Reference in New Issue
Block a user