mirror of
https://github.com/dotnetcore/FreeSql.git
synced 2026-02-14 04:10:56 +08:00
fix:修复使用 microsoft.data.sqlite 驱动时,aot 异常
err:Expression.Convert(tryparseVarExpDecimal, tryparseVarExp.Type)
构建后是 (int)deciamlValue,应该是 Convert(deciamlValue, typeof(int)) 才对
ps.aot 编译时不能使用 Expression 隐式将 decimal 转成 int.. 等类型
This commit is contained in:
@@ -2558,7 +2558,7 @@ namespace FreeSql.Internal
|
||||
Expression.Return(returnTarget, Expression.Convert(tryparseVarExp, typeof(object))),
|
||||
Expression.IfThenElse(
|
||||
Expression.IsTrue(Expression.Call(MethodDecimalTryParse, Expression.Convert(valueExp, typeof(string)), Expression.Constant(System.Globalization.NumberStyles.Any), Expression.Constant(null, typeof(IFormatProvider)), tryparseVarExpDecimal)),
|
||||
Expression.Return(returnTarget, Expression.Convert(Expression.Convert(tryparseVarExpDecimal, tryparseVarExp.Type), typeof(object))),
|
||||
Expression.Return(returnTarget, Expression.Call(MethodConvertChangeType,Expression.Convert(tryparseVarExpDecimal,typeof(object)),Expression.Constant(type, typeof(Type)))),
|
||||
Expression.Return(returnTarget, Expression.Convert(Expression.Default(typeOrg), typeof(object)))
|
||||
)
|
||||
)
|
||||
@@ -2574,7 +2574,7 @@ namespace FreeSql.Internal
|
||||
Expression.Return(returnTarget, Expression.Convert(tryparseVarExp, typeof(object))),
|
||||
Expression.IfThenElse(
|
||||
Expression.IsTrue(Expression.Call(MethodDecimalTryParse, Expression.Convert(valueExp, typeof(string)), Expression.Constant(System.Globalization.NumberStyles.Any), Expression.Constant(null, typeof(IFormatProvider)), tryparseVarExpDecimal)),
|
||||
Expression.Return(returnTarget, Expression.Convert(Expression.Convert(tryparseVarExpDecimal, tryparseVarExp.Type), typeof(object))),
|
||||
Expression.Return(returnTarget, Expression.Call(MethodConvertChangeType,Expression.Convert(tryparseVarExpDecimal,typeof(object)),Expression.Constant(type, typeof(Type)))),
|
||||
Expression.Return(returnTarget, Expression.Convert(Expression.Default(typeOrg), typeof(object)))
|
||||
)
|
||||
)
|
||||
@@ -2590,7 +2590,7 @@ namespace FreeSql.Internal
|
||||
Expression.Return(returnTarget, Expression.Convert(tryparseVarExp, typeof(object))),
|
||||
Expression.IfThenElse(
|
||||
Expression.IsTrue(Expression.Call(MethodDecimalTryParse, Expression.Convert(valueExp, typeof(string)), Expression.Constant(System.Globalization.NumberStyles.Any), Expression.Constant(null, typeof(IFormatProvider)), tryparseVarExpDecimal)),
|
||||
Expression.Return(returnTarget, Expression.Convert(Expression.Convert(tryparseVarExpDecimal, tryparseVarExp.Type), typeof(object))),
|
||||
Expression.Return(returnTarget, Expression.Call(MethodConvertChangeType,Expression.Convert(tryparseVarExpDecimal,typeof(object)),Expression.Constant(type, typeof(Type)))),
|
||||
Expression.Return(returnTarget, Expression.Convert(Expression.Default(typeOrg), typeof(object)))
|
||||
)
|
||||
)
|
||||
@@ -2618,7 +2618,7 @@ namespace FreeSql.Internal
|
||||
Expression.Return(returnTarget, Expression.Convert(tryparseVarExp, typeof(object))),
|
||||
Expression.IfThenElse(
|
||||
Expression.IsTrue(Expression.Call(MethodDecimalTryParse, Expression.Convert(valueExp, typeof(string)), Expression.Constant(System.Globalization.NumberStyles.Any), Expression.Constant(null, typeof(IFormatProvider)), tryparseVarExpDecimal)),
|
||||
Expression.Return(returnTarget, Expression.Convert(Expression.Convert(tryparseVarExpDecimal, tryparseVarExp.Type), typeof(object))),
|
||||
Expression.Return(returnTarget, Expression.Call(MethodConvertChangeType,Expression.Convert(tryparseVarExpDecimal,typeof(object)),Expression.Constant(type, typeof(Type)))),
|
||||
Expression.Return(returnTarget, Expression.Convert(Expression.Default(typeOrg), typeof(object)))
|
||||
)
|
||||
)
|
||||
@@ -2634,7 +2634,7 @@ namespace FreeSql.Internal
|
||||
Expression.Return(returnTarget, Expression.Convert(tryparseVarExp, typeof(object))),
|
||||
Expression.IfThenElse(
|
||||
Expression.IsTrue(Expression.Call(MethodDecimalTryParse, Expression.Convert(valueExp, typeof(string)), Expression.Constant(System.Globalization.NumberStyles.Any), Expression.Constant(null, typeof(IFormatProvider)), tryparseVarExpDecimal)),
|
||||
Expression.Return(returnTarget, Expression.Convert(Expression.Convert(tryparseVarExpDecimal, tryparseVarExp.Type), typeof(object))),
|
||||
Expression.Return(returnTarget, Expression.Call(MethodConvertChangeType,Expression.Convert(tryparseVarExpDecimal,typeof(object)),Expression.Constant(type, typeof(Type)))),
|
||||
Expression.Return(returnTarget, Expression.Convert(Expression.Default(typeOrg), typeof(object)))
|
||||
)
|
||||
)
|
||||
@@ -2650,7 +2650,7 @@ namespace FreeSql.Internal
|
||||
Expression.Return(returnTarget, Expression.Convert(tryparseVarExp, typeof(object))),
|
||||
Expression.IfThenElse(
|
||||
Expression.IsTrue(Expression.Call(MethodDecimalTryParse, Expression.Convert(valueExp, typeof(string)), Expression.Constant(System.Globalization.NumberStyles.Any), Expression.Constant(null, typeof(IFormatProvider)), tryparseVarExpDecimal)),
|
||||
Expression.Return(returnTarget, Expression.Convert(Expression.Convert(tryparseVarExpDecimal, tryparseVarExp.Type), typeof(object))),
|
||||
Expression.Return(returnTarget, Expression.Call(MethodConvertChangeType,Expression.Convert(tryparseVarExpDecimal,typeof(object)),Expression.Constant(type, typeof(Type)))),
|
||||
Expression.Return(returnTarget, Expression.Convert(Expression.Default(typeOrg), typeof(object)))
|
||||
)
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user