- 修复 AsType 表达式解析问题;#1389

This commit is contained in:
2881099
2022-12-29 16:51:19 +08:00
parent 1613307f26
commit 36f3db5525
3 changed files with 73 additions and 15 deletions

View File

@ -1715,7 +1715,12 @@ namespace FreeSql.Internal
if (oper2.NodeType == ExpressionType.Parameter)
{
var oper2Parm = oper2 as ParameterExpression;
expStack.Push(exp2.Type.IsAbstract || exp2.Type.IsInterface || exp2.Type.IsAssignableFrom(oper2Parm.Type) ? oper2Parm : Expression.Parameter(exp2.Type, oper2Parm.Name));
if (exp2.Type.IsAbstract || exp2.Type.IsInterface || exp2.Type.IsAssignableFrom(oper2Parm.Type))
expStack.Push(oper2Parm);
else if (oper2Parm.Type.IsAssignableFrom(exp2.Type))
expStack.Push(oper2Parm);
else
expStack.Push(Expression.Parameter(exp2.Type, oper2Parm.Name));
}
else
expStack.Push(oper2);