//--------------------------------------------------------------------- // // Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] // @backupOwner [....] //--------------------------------------------------------------------- namespace System.Data.Common.EntitySql.AST { using System; using System.Globalization; using System.Collections; using System.Collections.Generic; /// /// Represents a relationship navigation operator NAVIGATE(sourceRefExpr, Relationship-Type-Name [,ToEndName [,FromEndName]]). /// Also used in WITH RELATIONSHIP clause as RELATIONSHIP(targetRefExpr, Relationship-Type-Name [,FromEndName [,ToEndName]]). /// internal sealed class RelshipNavigationExpr : Node { private readonly Node _refExpr; private readonly Node _relshipTypeName; private readonly Identifier _toEndIdentifier; private readonly Identifier _fromEndIdentifier; /// /// Initializes relationship navigation expression. /// internal RelshipNavigationExpr(Node refExpr, Node relshipTypeName, Identifier toEndIdentifier, Identifier fromEndIdentifier) { _refExpr = refExpr; _relshipTypeName = relshipTypeName; _toEndIdentifier = toEndIdentifier; _fromEndIdentifier = fromEndIdentifier; } /// /// Entity reference expression. /// internal Node RefExpr { get { return _refExpr; } } /// /// Relship type name. /// internal Node TypeName { get { return _relshipTypeName; } } /// /// TO end identifier. /// internal Identifier ToEndIdentifier { get { return _toEndIdentifier; } } /// /// FROM end identifier. /// internal Identifier FromEndIdentifier { get { return _fromEndIdentifier; } } } }