This commit is contained in:
sunkaixuan
2017-01-31 21:37:21 +08:00
parent fb246a4999
commit c1c431a372

View File

@@ -29,69 +29,69 @@ namespace SqlSugar
public BaseResolve Start() public BaseResolve Start()
{ {
Context.Index++; Context.Index++;
Expression exp = this.Expression; Expression expression = this.Expression;
ExpressionParameter parameter = new ExpressionParameter() ExpressionParameter parameter = new ExpressionParameter()
{ {
Context = this.Context, Context = this.Context,
Expression = exp, Expression = expression,
IsLeft = this.IsLeft, IsLeft = this.IsLeft,
BaseExpression = this.BaseExpression, BaseExpression = this.BaseExpression,
BaseParameter = this.BaseParameter, BaseParameter = this.BaseParameter,
Index = Context.Index Index = Context.Index
}; };
if (exp is LambdaExpression) if (expression is LambdaExpression)
{ {
return new LambdaExpressionResolve(parameter); return new LambdaExpressionResolve(parameter);
} }
else if (exp is BinaryExpression) else if (expression is BinaryExpression)
{ {
return new BinaryExpressionResolve(parameter); return new BinaryExpressionResolve(parameter);
} }
else if (exp is BlockExpression) else if (expression is BlockExpression)
{ {
Check.ThrowNotSupportedException("BlockExpression"); Check.ThrowNotSupportedException("BlockExpression");
} }
else if (exp is ConditionalExpression) else if (expression is ConditionalExpression)
{ {
Check.ThrowNotSupportedException("ConditionalExpression"); Check.ThrowNotSupportedException("ConditionalExpression");
} }
else if (exp is MethodCallExpression) else if (expression is MethodCallExpression)
{ {
return new MethodCallExpressionResolve(parameter); return new MethodCallExpressionResolve(parameter);
} }
else if (exp is MemberExpression && ((MemberExpression)exp).Expression == null) else if (expression is MemberExpression && ((MemberExpression)expression).Expression == null)
{ {
return new MemberNoExpressionResolve(parameter); return new MemberNoExpressionResolve(parameter);
} }
else if (exp is MemberExpression && ((MemberExpression)exp).Expression.NodeType == ExpressionType.Constant) else if (expression is MemberExpression && ((MemberExpression)expression).Expression.NodeType == ExpressionType.Constant)
{ {
return new MemberConstExpressionResolve(parameter); return new MemberConstExpressionResolve(parameter);
} }
else if (exp is MemberExpression && ((MemberExpression)exp).Expression.NodeType == ExpressionType.New) else if (expression is MemberExpression && ((MemberExpression)expression).Expression.NodeType == ExpressionType.New)
{ {
return new MemberNewExpressionResolve(parameter); return new MemberNewExpressionResolve(parameter);
} }
else if (exp is ConstantExpression) else if (expression is ConstantExpression)
{ {
return new ConstantExpressionResolve(parameter); return new ConstantExpressionResolve(parameter);
} }
else if (exp is MemberExpression) else if (expression is MemberExpression)
{ {
return new MemberExpressionResolve(parameter); return new MemberExpressionResolve(parameter);
} }
else if (exp is UnaryExpression) else if (expression is UnaryExpression)
{ {
return new UnaryExpressionResolve(parameter); return new UnaryExpressionResolve(parameter);
} }
else if (exp is MemberInitExpression) else if (expression is MemberInitExpression)
{ {
return new MemberInitExpressionResolve(parameter); return new MemberInitExpressionResolve(parameter);
} }
else if (exp is NewExpression) else if (expression is NewExpression)
{ {
return new NewExpressionResolve(parameter); return new NewExpressionResolve(parameter);
} }
else if (exp != null && exp.NodeType.IsIn(ExpressionType.NewArrayBounds, ExpressionType.NewArrayInit)) else if (expression != null && expression.NodeType.IsIn(ExpressionType.NewArrayBounds, ExpressionType.NewArrayInit))
{ {
Check.ThrowNotSupportedException("ExpressionType.NewArrayBounds and ExpressionType.NewArrayInit"); Check.ThrowNotSupportedException("ExpressionType.NewArrayBounds and ExpressionType.NewArrayInit");
} }