Пример #1
0
        private DbExpression VisitUnary(DbUnaryExpression expression, Func <DbExpression, DbExpression> callback)
        {
            DbExpression result      = expression;
            var          newArgument = VisitExpression(expression.Argument);

            if (!ReferenceEquals(expression.Argument, newArgument))
            {
                result = callback(newArgument);
            }
            NotifyIfChanged(expression, result);
            return(result);
        }
Пример #2
0
        private DbExpression VisitTypeUnary(
            DbUnaryExpression expression, TypeUsage type, Func <DbExpression, TypeUsage, DbExpression> callback)
        {
            DbExpression result = expression;

            var newArgument = VisitExpression(expression.Argument);
            var newType     = VisitTypeUsage(type);

            if (!ReferenceEquals(expression.Argument, newArgument)
                ||
                !ReferenceEquals(type, newType))
            {
                result = callback(newArgument, newType);
            }
            NotifyIfChanged(expression, result);
            return(result);
        }
Пример #3
0
        /// <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)
        {
            Check.NotNull(expression, "expression");

            VisitExpression(expression.Argument);
        }
Пример #4
0
 /// <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(Check.NotNull(expression, "expression").Argument);
 }
Пример #5
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);
      }
Пример #6
0
 /// <summary>
 /// Convenience method to visit the specified <see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbUnaryExpression" />.
 /// </summary>
 /// <param name="expression"> The DbUnaryExpression to visit. </param>
 /// <exception cref="T:System.ArgumentNullException">
 /// <paramref name="expression" />
 /// is null
 /// </exception>
 protected virtual void VisitUnaryExpression(DbUnaryExpression expression)
 {
     Check.NotNull <DbUnaryExpression>(expression, nameof(expression));
     this.VisitExpression(expression.Argument);
 }