Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DLinq / Dlinq / SqlClient / Query / SqlAliaser.cs / 1305376 / SqlAliaser.cs
using System; using System.Collections.Generic; using System.Text; using System.Data.Linq; namespace System.Data.Linq.SqlClient { internal class SqlAliaser { Visitor visitor; internal SqlAliaser() { this.visitor = new Visitor(); } internal SqlNode AssociateColumnsWithAliases(SqlNode node) { return this.visitor.Visit(node); } class Visitor : SqlVisitor { SqlAlias alias; internal Visitor() { } internal override SqlAlias VisitAlias(SqlAlias sqlAlias) { SqlAlias save = this.alias; this.alias = sqlAlias; sqlAlias.Node = this.Visit(sqlAlias.Node); this.alias = save; return sqlAlias; } internal override SqlRow VisitRow(SqlRow row) { foreach (SqlColumn c in row.Columns) { c.Alias = alias; } return base.VisitRow(row); } internal override SqlTable VisitTable(SqlTable tab) { foreach (SqlColumn c in tab.Columns) { c.Alias = alias; } return base.VisitTable(tab); } internal override SqlExpression VisitTableValuedFunctionCall(SqlTableValuedFunctionCall fc) { foreach (SqlColumn c in fc.Columns) { c.Alias = this.alias; } return base.VisitTableValuedFunctionCall(fc); } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. using System; using System.Collections.Generic; using System.Text; using System.Data.Linq; namespace System.Data.Linq.SqlClient { internal class SqlAliaser { Visitor visitor; internal SqlAliaser() { this.visitor = new Visitor(); } internal SqlNode AssociateColumnsWithAliases(SqlNode node) { return this.visitor.Visit(node); } class Visitor : SqlVisitor { SqlAlias alias; internal Visitor() { } internal override SqlAlias VisitAlias(SqlAlias sqlAlias) { SqlAlias save = this.alias; this.alias = sqlAlias; sqlAlias.Node = this.Visit(sqlAlias.Node); this.alias = save; return sqlAlias; } internal override SqlRow VisitRow(SqlRow row) { foreach (SqlColumn c in row.Columns) { c.Alias = alias; } return base.VisitRow(row); } internal override SqlTable VisitTable(SqlTable tab) { foreach (SqlColumn c in tab.Columns) { c.Alias = alias; } return base.VisitTable(tab); } internal override SqlExpression VisitTableValuedFunctionCall(SqlTableValuedFunctionCall fc) { foreach (SqlColumn c in fc.Columns) { c.Alias = this.alias; } return base.VisitTableValuedFunctionCall(fc); } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- MessageOperationFormatter.cs
- OleDbPropertySetGuid.cs
- SafeRegistryHandle.cs
- SqlDataSourceCustomCommandPanel.cs
- StateItem.cs
- DetailsViewDeletedEventArgs.cs
- assertwrapper.cs
- RoleManagerEventArgs.cs
- DataGridViewCell.cs
- WindowsGraphicsCacheManager.cs
- Ppl.cs
- ModelItemDictionary.cs
- AddInAdapter.cs
- RelatedEnd.cs
- SafeWaitHandle.cs
- NonClientArea.cs
- Mapping.cs
- KeyboardNavigation.cs
- DispatcherSynchronizationContext.cs
- DrawListViewItemEventArgs.cs
- XPathNodeInfoAtom.cs
- TraceContextEventArgs.cs
- FixedTextPointer.cs
- AuthStoreRoleProvider.cs
- FrugalList.cs
- XmlEventCache.cs
- WeakRefEnumerator.cs
- JsonClassDataContract.cs
- DynamicControl.cs
- GenericEnumerator.cs
- DATA_BLOB.cs
- RemoteX509Token.cs
- ZoneLinkButton.cs
- PolyQuadraticBezierSegmentFigureLogic.cs
- PartialCachingControl.cs
- SortedDictionary.cs
- TdsParserHelperClasses.cs
- PageThemeBuildProvider.cs
- DataGridToolTip.cs
- SortedList.cs
- PackageDigitalSignatureManager.cs
- CompositeScriptReferenceEventArgs.cs
- UpdateTracker.cs
- UnicastIPAddressInformationCollection.cs
- AppDomainAttributes.cs
- LayoutInformation.cs
- MatrixAnimationUsingPath.cs
- HandlerFactoryCache.cs
- NegotiateStream.cs
- ParentQuery.cs
- UnauthorizedAccessException.cs
- DesignTableCollection.cs
- PeerMessageDispatcher.cs
- WindowsGraphics2.cs
- ControlCollection.cs
- OutOfMemoryException.cs
- EditorReuseAttribute.cs
- KeyTime.cs
- TdsParserStateObject.cs
- StatusBarAutomationPeer.cs
- ToolStripContentPanelRenderEventArgs.cs
- Transform3DGroup.cs
- UpdateRecord.cs
- ContentFileHelper.cs
- RemotingConfiguration.cs
- UnregisterInfo.cs
- SqlRowUpdatingEvent.cs
- X500Name.cs
- PathFigureCollectionConverter.cs
- CacheEntry.cs
- AssertFilter.cs
- ProfileServiceManager.cs
- Decoder.cs
- Int32AnimationBase.cs
- SqlError.cs
- Repeater.cs
- SiteMap.cs
- UnescapedXmlDiagnosticData.cs
- StringFormat.cs
- XmlObjectSerializerWriteContextComplex.cs
- CalendarDay.cs
- BroadcastEventHelper.cs
- EntitySetBaseCollection.cs
- OracleInfoMessageEventArgs.cs
- CaretElement.cs
- ImageSource.cs
- SupportsEventValidationAttribute.cs
- ListViewTableRow.cs
- HttpDigestClientCredential.cs
- LinqDataSourceValidationException.cs
- IconHelper.cs
- StaticDataManager.cs
- HtmlControlPersistable.cs
- ICspAsymmetricAlgorithm.cs
- ManagementBaseObject.cs
- NameScope.cs
- IdentityModelDictionary.cs
- SettingsContext.cs
- UrlMapping.cs
- GlyphRunDrawing.cs