Updates referencesource to .NET 4.7
[mono.git] / mcs / class / referencesource / System.Data.Entity / System / Data / Common / EntitySql / AST / NavigationExpr.cs
1 //---------------------------------------------------------------------
2 // <copyright file="NavigationExpr.cs" company="Microsoft">
3 //     Copyright (c) Microsoft Corporation.  All rights reserved.
4 // </copyright>
5 //
6 // @owner  Microsoft
7 // @backupOwner Microsoft
8 //---------------------------------------------------------------------
9
10 namespace System.Data.Common.EntitySql.AST
11 {
12     using System;
13     using System.Globalization;
14     using System.Collections;
15     using System.Collections.Generic;
16
17     /// <summary>
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]]).
20     /// </summary>
21     internal sealed class RelshipNavigationExpr : Node
22     {
23         private readonly Node _refExpr;
24         private readonly Node _relshipTypeName;
25         private readonly Identifier _toEndIdentifier;
26         private readonly Identifier _fromEndIdentifier;
27
28         /// <summary>
29         /// Initializes relationship navigation expression.
30         /// </summary>
31         internal RelshipNavigationExpr(Node refExpr, Node relshipTypeName, Identifier toEndIdentifier, Identifier fromEndIdentifier)
32         {
33             _refExpr = refExpr;
34             _relshipTypeName = relshipTypeName;
35             _toEndIdentifier = toEndIdentifier;
36             _fromEndIdentifier = fromEndIdentifier;
37         }
38
39         /// <summary>
40         /// Entity reference expression.
41         /// </summary>
42         internal Node RefExpr
43         {
44             get { return _refExpr; }
45         }
46
47         /// <summary>
48         /// Relship type name.
49         /// </summary>
50         internal Node TypeName
51         {
52             get { return _relshipTypeName; }
53         }
54
55         /// <summary>
56         /// TO end identifier.
57         /// </summary>
58         internal Identifier ToEndIdentifier
59         {
60             get { return _toEndIdentifier; }
61         }
62
63         /// <summary>
64         /// FROM end identifier.
65         /// </summary>
66         internal Identifier FromEndIdentifier
67         {
68             get { return _fromEndIdentifier; }
69         }
70     }
71 }