public override DbExpression Visit(DbRelationshipNavigationExpression expression) { EntityUtil.CheckArgumentNull(expression, "expression"); DbExpression result = expression; RelationshipEndMember newFrom; RelationshipEndMember newTo; VisitRelationshipEnds(expression.NavigateFrom, expression.NavigateTo, out newFrom, out newTo); DbExpression newNavSource = this.VisitExpression(expression.NavigationSource); if (!object.ReferenceEquals(expression.NavigateFrom, newFrom) || !object.ReferenceEquals(expression.NavigateTo, newTo) || !object.ReferenceEquals(expression.NavigationSource, newNavSource)) { result = CqtBuilder.Navigate(newNavSource, newFrom, newTo); } NotifyIfChanged(expression, result); return(result); }
/// <summary> /// Typed visitor pattern method for DbRelationshipNavigationExpression. /// </summary> /// <param name="expression">The DbRelationshipNavigationExpression that is being visited.</param> /// <returns>An instance of TResultType.</returns> public abstract TResultType Visit(DbRelationshipNavigationExpression expression);
/// <summary> /// Visitor pattern method for <see cref="DbRelationshipNavigationExpression"/>. /// </summary> /// <param name="expression">The DbRelationshipNavigationExpression that is being visited.</param> /// <exception cref="ArgumentNullException"><paramref name="expression"/> is null</exception> public override void Visit(DbRelationshipNavigationExpression expression) { // #433613: PreSharp warning 56506: Parameter 'expression' to this public method must be validated: A null-dereference can occur here. VisitExpression(EntityUtil.CheckArgumentNull(expression, "expression").NavigationSource); }
/// <summary> /// Visitor pattern method for DbRelationshipNavigationExpression. /// </summary> /// <param name="expression">The DbRelationshipNavigationExpression that is being visited.</param> public abstract void Visit(DbRelationshipNavigationExpression expression);