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
- DescendentsWalker.cs
- EntityContainer.cs
- ReadOnlyNameValueCollection.cs
- SplitterDesigner.cs
- VisualState.cs
- WmlObjectListAdapter.cs
- PlanCompiler.cs
- CreateRefExpr.cs
- SerializationException.cs
- XmlSchemaAnyAttribute.cs
- Oid.cs
- EnumerableValidator.cs
- EventMap.cs
- TrackingServices.cs
- TextRunCache.cs
- SQLBinaryStorage.cs
- SignatureDescription.cs
- PointLight.cs
- RegisteredDisposeScript.cs
- UpdateProgress.cs
- ValuePattern.cs
- RecordConverter.cs
- ObjectAnimationBase.cs
- CodeAttributeDeclarationCollection.cs
- HttpListenerContext.cs
- Merger.cs
- FrameSecurityDescriptor.cs
- KeyProperty.cs
- AspCompat.cs
- DataListItem.cs
- QfeChecker.cs
- CoTaskMemUnicodeSafeHandle.cs
- Baml2006SchemaContext.cs
- PropertyCollection.cs
- SqlExpander.cs
- DataControlImageButton.cs
- AutoCompleteStringCollection.cs
- TextTreeTextElementNode.cs
- SiblingIterators.cs
- InternalCompensate.cs
- CheckBoxDesigner.cs
- DataGridViewColumnTypeEditor.cs
- ServiceModelEnumValidatorAttribute.cs
- WindowProviderWrapper.cs
- HttpUnhandledOperationInvoker.cs
- Utils.cs
- PreloadedPackages.cs
- DBDataPermissionAttribute.cs
- DashStyles.cs
- SmtpSpecifiedPickupDirectoryElement.cs
- StagingAreaInputItem.cs
- SmtpReplyReaderFactory.cs
- EditorServiceContext.cs
- MouseActionValueSerializer.cs
- ServiceDescription.cs
- JsonEnumDataContract.cs
- TextBox.cs
- SafeRightsManagementSessionHandle.cs
- FlowDocumentPage.cs
- AnnotationComponentChooser.cs
- SettingsPropertyNotFoundException.cs
- XamlPathDataSerializer.cs
- SiteMapDataSource.cs
- InvariantComparer.cs
- ProjectionPlan.cs
- DataService.cs
- CallbackValidatorAttribute.cs
- UserMapPath.cs
- WebPartVerbsEventArgs.cs
- FigureHelper.cs
- SchemaNames.cs
- HwndSourceParameters.cs
- CheckBoxFlatAdapter.cs
- BitmapDecoder.cs
- BitmapMetadata.cs
- SystemGatewayIPAddressInformation.cs
- MenuItemAutomationPeer.cs
- CodeIterationStatement.cs
- PageOutputQuality.cs
- DetailsViewAutoFormat.cs
- ParameterBuilder.cs
- HttpCapabilitiesSectionHandler.cs
- SafeNativeMethods.cs
- TransactionContextValidator.cs
- DefaultTextStoreTextComposition.cs
- DescendantQuery.cs
- IriParsingElement.cs
- webbrowsersite.cs
- SharedPerformanceCounter.cs
- Path.cs
- DecoderReplacementFallback.cs
- MarshalByValueComponent.cs
- MessageDecoder.cs
- GcHandle.cs
- tooltip.cs
- ObjectCacheSettings.cs
- ButtonAutomationPeer.cs
- ImageIndexConverter.cs
- IPGlobalProperties.cs
- ManifestResourceInfo.cs