public override string DealExpression(Expression exp, bool need = false) { string sql = base.DealExpression(exp); if (!String.IsNullOrEmpty(sql)) { return(sql); } MemberExpression b_exp = exp as MemberExpression; if (b_exp.Expression != null) { if (b_exp.Expression.GetType().Name == "TypedParameterExpression") { return(b_exp.Member.Name); } return(ExpressionTypeUtil.Eval(b_exp).ToString()); } Type type = b_exp.Member.ReflectedType; PropertyInfo propertyInfo = type.GetProperty(b_exp.Member.Name, BindingFlags.Static | BindingFlags.Public); object o; if (propertyInfo != null) { o = propertyInfo.GetValue(null); } else { FieldInfo field = type.GetField(b_exp.Member.Name, BindingFlags.Static | BindingFlags.Public); o = field.GetValue(null); } return(ExpressionTypeUtil.GetValueFormat(o)); }
public override string DealExpression(Expression exp, bool need = false) { string sql = base.DealExpression(exp); if (!String.IsNullOrEmpty(sql)) { return(sql); } ConstantExpression expression = exp as ConstantExpression; var ccc = expression.Value.GetType(); if (expression.Value == null) { return("NULL"); } return(ExpressionTypeUtil.GetValueFormat(expression.Value)); }
private string DealBinary(BinaryExpression exp) { return(DealExpression(exp.Left) + ExpressionTypeUtil.NullValueDeal(exp.NodeType, DealExpression(exp.Right, true))); }