1 //---------------------------------------------------------------------
2 // <copyright file="NavigationExpr.cs" company="Microsoft">
3 // Copyright (c) Microsoft Corporation. All rights reserved.
7 // @backupOwner Microsoft
8 //---------------------------------------------------------------------
10 namespace System.Data.Common.EntitySql.AST
13 using System.Globalization;
14 using System.Collections;
15 using System.Collections.Generic;
18 /// Represents a relationship navigation operator NAVIGATE(sourceRefExpr, Relationship-Type-Name [,ToEndName [,FromEndName]]).
19 /// Also used in WITH RELATIONSHIP clause as RELATIONSHIP(targetRefExpr, Relationship-Type-Name [,FromEndName [,ToEndName]]).
21 internal sealed class RelshipNavigationExpr : Node
23 private readonly Node _refExpr;
24 private readonly Node _relshipTypeName;
25 private readonly Identifier _toEndIdentifier;
26 private readonly Identifier _fromEndIdentifier;
29 /// Initializes relationship navigation expression.
31 internal RelshipNavigationExpr(Node refExpr, Node relshipTypeName, Identifier toEndIdentifier, Identifier fromEndIdentifier)
34 _relshipTypeName = relshipTypeName;
35 _toEndIdentifier = toEndIdentifier;
36 _fromEndIdentifier = fromEndIdentifier;
40 /// Entity reference expression.
44 get { return _refExpr; }
48 /// Relship type name.
50 internal Node TypeName
52 get { return _relshipTypeName; }
56 /// TO end identifier.
58 internal Identifier ToEndIdentifier
60 get { return _toEndIdentifier; }
64 /// FROM end identifier.
66 internal Identifier FromEndIdentifier
68 get { return _fromEndIdentifier; }