private DbExpression VisitUnary(DbUnaryExpression expression, Func <DbExpression, DbExpression> callback)
        {
            DbExpression result      = expression;
            DbExpression newArgument = this.VisitExpression(expression.Argument);

            if (!object.ReferenceEquals(expression.Argument, newArgument))
            {
                result = callback(newArgument);
            }
            NotifyIfChanged(expression, result);
            return(result);
        }
        private DbExpression VisitTypeUnary(DbUnaryExpression expression, TypeUsage type, Func <DbExpression, TypeUsage, DbExpression> callback)
        {
            DbExpression result = expression;

            DbExpression newArgument = this.VisitExpression(expression.Argument);
            TypeUsage    newType     = this.VisitTypeUsage(type);

            if (!object.ReferenceEquals(expression.Argument, newArgument) ||
                !object.ReferenceEquals(type, newType))
            {
                result = callback(newArgument, newType);
            }
            NotifyIfChanged(expression, result);
            return(result);
        }
Esempio n. 3
0
      //internal virtual void VisitRelatedEntityReference(DbRelatedEntityRef relatedEntityRef)
      //{
      //  VisitExpression(relatedEntityRef.TargetEntityReference);
      //}

      //internal virtual void VisitRelatedEntityReferenceList(IList<DbRelatedEntityRef> relatedEntityReferences)
      //{
      //  for (int i = 0; i < relatedEntityReferences.Count; i++)
      //  {
      //    VisitRelatedEntityReference(relatedEntityReferences[i]);
      //  }
      //}

      protected virtual void VisitUnaryExpression(DbUnaryExpression expression)
      {
        if (expression == null) throw new ArgumentException("expression");
        VisitExpression(expression.Argument);
      }
 /// <summary>
 /// Convenience method to visit the specified <see cref="DbUnaryExpression"/>.
 /// </summary>
 /// <param name="expression">The DbUnaryExpression to visit.</param>
 /// <exception cref="ArgumentNullException"><paramref name="expression"/> is null</exception>
 protected virtual void VisitUnaryExpression(DbUnaryExpression expression)
 {
     VisitExpression(ADP1.CheckArgumentNull(expression, "expression").Argument);
 }
 private void BeginUnary(DbUnaryExpression e)
 {
     Begin(e);
     Begin("Argument");
     Dump(e.Argument);
     End("Argument");
 }
 private void VisitCastOrTreat(DbUnaryExpression e)
 {
     VisitExprKind(e.ExpressionKind);
     _key.Append('(');
     e.Argument.Accept(this);
     _key.Append(":");
     _key.Append(e.ResultType.Identity);
     _key.Append(')');
 }
 private void VisitUnary(DbUnaryExpression expr)
 {
     VisitExprKind(expr.ExpressionKind);
     _key.Append('(');
     expr.Argument.Accept(this);
     _key.Append(')');
 }
 /// <summary>
 /// Convenience method to visit the specified <see cref="DbUnaryExpression"/>.
 /// </summary>
 /// <param name="expression">The DbUnaryExpression to visit.</param>
 /// <exception cref="ArgumentNullException"><paramref name="expression"/> is null</exception>
 protected virtual void VisitUnaryExpression(DbUnaryExpression expression)
 {
     VisitExpression(EntityUtil.CheckArgumentNull(expression, "expression").Argument);
 }
        /// <summary>
        /// Convenience method to visit the specified <see cref="DbUnaryExpression"/>.
        /// </summary>
        /// <param name="expression">The DbUnaryExpression to visit.</param>
        /// <exception cref="ArgumentNullException"><paramref name="expression"/> is null</exception>
        protected virtual void VisitUnaryExpression(DbUnaryExpression expression)
        {
            //Contract.Requires(expression != null);

            VisitExpression(expression.Argument);
        }