Пример #1
0
 /// <summary>
 /// Visits the children of the <see cref="T:System.Linq.Expressions.MemberExpression"/>.
 /// </summary>
 /// <returns>
 /// The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.
 /// </returns>
 /// <param name="node">The expression to visit.</param>
 protected override Expression VisitMember(MemberExpression node)
 {
     if (node.IsSpecificMemberExpression(node.Expression.Type, EntityTableCacheHelper.TryGetPropertyList(node.Expression.Type)))
     {
         _serverWriter.ColumnName(_serverWriter.GetPropertyNameWithIdentifierFromExpression(node));
         return(node);
     }
     else if (node.IsVariable())
     {
         _serverWriter.Parameter(node.GetValueFromExpression());
         return(node);
     }
     else if (node.IsHasValue())
     {
         var me = base.VisitMember(node);
         _serverWriter.IsNull();
         return(me);
     }
     return(base.VisitMember(node));;
 }