Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / ndp / fx / src / DataEntity / System / Data / SqlClient / SqlGen / JoinSymbol.cs / 2 / JoinSymbol.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....], [....] //--------------------------------------------------------------------- using System; using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Text; using System.Data.SqlClient; using System.Data.Metadata.Edm; using System.Data.Common.CommandTrees; namespace System.Data.SqlClient.SqlGen { ////// A Join symbol is a special kind of Symbol. /// It has to carry additional information /// internal sealed class JoinSymbol : Symbol { private List///
/// /// All the lists are set exactly once, and then used for lookups/enumerated. ///- ColumnList for the list of columns in the select clause if this /// symbol represents a sql select statement. This is set by
///. - ExtentList is the list of extents in the select clause.
///- FlattenedExtentList - if the Join has multiple extents flattened at the /// top level, we need this information to ensure that extent aliases are renamed /// correctly in
///- NameToExtent has all the extents in ExtentList as a dictionary. /// This is used by
///to flatten /// record accesses. - IsNestedJoin - is used to determine whether a JoinSymbol is an /// ordinary join symbol, or one that has a corresponding SqlSelectStatement.
///columnList; internal List ColumnList { get { if (null == columnList) { columnList = new List (); } return columnList; } set { columnList = value; } } private List extentList; internal List ExtentList { get { return extentList; } } private List flattenedExtentList; internal List FlattenedExtentList { get { if (null == flattenedExtentList) { flattenedExtentList = new List (); } return flattenedExtentList; } set { flattenedExtentList = value; } } private Dictionary nameToExtent; internal Dictionary NameToExtent { get { return nameToExtent; } } private bool isNestedJoin; internal bool IsNestedJoin { get { return isNestedJoin; } set { isNestedJoin = value; } } public JoinSymbol(string name, TypeUsage type, List extents) : base(name, type) { extentList = new List (extents.Count); nameToExtent = new Dictionary (extents.Count, StringComparer.OrdinalIgnoreCase); foreach (Symbol symbol in extents) { this.nameToExtent[symbol.Name] = symbol; this.ExtentList.Add(symbol); } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //---------------------------------------------------------------------- // // Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....], [....] //--------------------------------------------------------------------- using System; using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Text; using System.Data.SqlClient; using System.Data.Metadata.Edm; using System.Data.Common.CommandTrees; namespace System.Data.SqlClient.SqlGen { ////// A Join symbol is a special kind of Symbol. /// It has to carry additional information /// internal sealed class JoinSymbol : Symbol { private List///
/// /// All the lists are set exactly once, and then used for lookups/enumerated. ///- ColumnList for the list of columns in the select clause if this /// symbol represents a sql select statement. This is set by
///. - ExtentList is the list of extents in the select clause.
///- FlattenedExtentList - if the Join has multiple extents flattened at the /// top level, we need this information to ensure that extent aliases are renamed /// correctly in
///- NameToExtent has all the extents in ExtentList as a dictionary. /// This is used by
///to flatten /// record accesses. - IsNestedJoin - is used to determine whether a JoinSymbol is an /// ordinary join symbol, or one that has a corresponding SqlSelectStatement.
///columnList; internal List ColumnList { get { if (null == columnList) { columnList = new List (); } return columnList; } set { columnList = value; } } private List extentList; internal List ExtentList { get { return extentList; } } private List flattenedExtentList; internal List FlattenedExtentList { get { if (null == flattenedExtentList) { flattenedExtentList = new List (); } return flattenedExtentList; } set { flattenedExtentList = value; } } private Dictionary nameToExtent; internal Dictionary NameToExtent { get { return nameToExtent; } } private bool isNestedJoin; internal bool IsNestedJoin { get { return isNestedJoin; } set { isNestedJoin = value; } } public JoinSymbol(string name, TypeUsage type, List extents) : base(name, type) { extentList = new List (extents.Count); nameToExtent = new Dictionary (extents.Count, StringComparer.OrdinalIgnoreCase); foreach (Symbol symbol in extents) { this.nameToExtent[symbol.Name] = symbol; this.ExtentList.Add(symbol); } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ReferentialConstraint.cs
- SafeNativeMethods.cs
- DataMemberConverter.cs
- CheckBoxPopupAdapter.cs
- PrivilegeNotHeldException.cs
- ActiveXMessageFormatter.cs
- Debugger.cs
- ClientScriptManagerWrapper.cs
- RelationshipDetailsRow.cs
- RectAnimationUsingKeyFrames.cs
- TerminatorSinks.cs
- BinaryReader.cs
- SelectorAutomationPeer.cs
- PasswordRecovery.cs
- DeobfuscatingStream.cs
- ToolStripOverflow.cs
- SymmetricKey.cs
- XmlSchemaType.cs
- ConfigurationManager.cs
- Rectangle.cs
- ClientWindowsAuthenticationMembershipProvider.cs
- DuplexChannelFactory.cs
- FocusTracker.cs
- ClockController.cs
- ContentType.cs
- CharAnimationUsingKeyFrames.cs
- DocumentOrderQuery.cs
- ItemCollectionEditor.cs
- XmlSchemaDocumentation.cs
- JumpList.cs
- StringCollection.cs
- CodeSnippetStatement.cs
- UnaryNode.cs
- ServicePoint.cs
- PlatformNotSupportedException.cs
- DecimalConstantAttribute.cs
- WebEncodingValidatorAttribute.cs
- ToolStripStatusLabel.cs
- DispatcherExceptionEventArgs.cs
- InternalEnumValidatorAttribute.cs
- MulticastOption.cs
- DurableOperationContext.cs
- CompositeDuplexBindingElement.cs
- Rijndael.cs
- XmlAtomicValue.cs
- UnknownBitmapEncoder.cs
- SqlClientWrapperSmiStreamChars.cs
- WebDescriptionAttribute.cs
- FillBehavior.cs
- XmlSchemaComplexContent.cs
- AppearanceEditorPart.cs
- ServiceHostingEnvironment.cs
- FixedTextPointer.cs
- Dynamic.cs
- ScriptRegistrationManager.cs
- CodeExpressionStatement.cs
- RemotingServices.cs
- HtmlSelect.cs
- IERequestCache.cs
- WebPartConnectionsCancelEventArgs.cs
- RuntimeResourceSet.cs
- ToolBarButtonClickEvent.cs
- CustomUserNameSecurityTokenAuthenticator.cs
- XmlSchemaDatatype.cs
- TypeElementCollection.cs
- SvcMapFileSerializer.cs
- TrackBarDesigner.cs
- HMACSHA1.cs
- Decoder.cs
- SingleAnimationUsingKeyFrames.cs
- XamlStyleSerializer.cs
- ValueExpressions.cs
- XmlDataSourceView.cs
- WebColorConverter.cs
- MeasurementDCInfo.cs
- DefaultMemberAttribute.cs
- CustomBinding.cs
- NameSpaceEvent.cs
- ISAPIRuntime.cs
- ApplicationId.cs
- MD5CryptoServiceProvider.cs
- MembershipUser.cs
- DataGridCommandEventArgs.cs
- SiteMapHierarchicalDataSourceView.cs
- PassportPrincipal.cs
- Int32AnimationUsingKeyFrames.cs
- ExpandableObjectConverter.cs
- RadioButtonList.cs
- TypeReference.cs
- HttpHandlerAction.cs
- EventSourceCreationData.cs
- WebServiceParameterData.cs
- TemplatedAdorner.cs
- LocalizationComments.cs
- ResourceSetExpression.cs
- HuffModule.cs
- DispatcherObject.cs
- RegionData.cs
- ServiceBehaviorElementCollection.cs
- SmtpTransport.cs