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); }
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); }
/// <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); }
/// <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); }
//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="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); }