SqlSugar/SqlSugar/ExpressionsToSql/ResolveItems/ConstantExpressionResolve.cs
sunkaixuan 0a9dd90260 -
2017-01-08 22:53:25 +08:00

34 lines
1.2 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Reflection;
using System.Text;
namespace SqlSugar
{
public class ConstantExpressionResolve : BaseResolve
{
public ConstantExpressionResolve(ExpressionParameter parameter) : base(parameter)
{
var expression = base.Expression as ConstantExpression;
var isLeft = parameter.IsLeft;
var isWhereSingle = parameter.Context.IsWhereSingle;
object value = expression.Value;
if (parameter.BaseParameter.BinaryExpressionInfoList != null)
{
parameter.BaseParameter.BinaryExpressionInfoList.Add(new KeyValuePair<string, BinaryExpressionInfo>(ExpressionConst.BinaryExpressionInfoListKey, new BinaryExpressionInfo()
{
IsLeft = Convert.ToBoolean(isLeft),
Value = value,
ExpressionType = expression.GetType()
}));
}
if (isLeft == null && base.Context.SqlWhere == null)
{
base.Context.SqlWhere = new StringBuilder();
base.Context.SqlWhere.Append(value);
}
}
}
}