protected override Expression VisitMember(MemberExpression m) { if (m.Expression != null && m.Expression.NodeType == ExpressionType.Parameter) { var builder = (Result as DbResolveResult).Builder; var parameterExpression = (ParameterExpression)m.Expression; var entityAttribute = EntityMetadata.GetAttribute(m.Member.Name); builder.Append($"{Dialect.OpeningIdentifier}{entityAttribute.Name}{Dialect.ClosingIdentifier}"); } else if (m.Expression != null && m.Expression.NodeType == ExpressionType.Constant) { var eval = ExpressionsHelper.EvaluateMember(m); var constantExpression = Expression.Constant(eval, m.Type); Visit(constantExpression); return(constantExpression); } return(m); }