v3.2.701-preview20230829

This commit is contained in:
2881099
2023-08-28 21:59:02 +08:00
parent 501efe335a
commit d7c91966a8
32 changed files with 39 additions and 36 deletions

View File

@ -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>

View File

@ -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;
});
}