Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / ndp / fx / src / DataEntity / System / Data / SqlClient / SqlGen / SymbolPair.cs / 2 / SymbolPair.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
{
///
/// The SymbolPair exists to solve the record flattening problem.
///
/// Consider a property expression D(v, "j3.j2.j1.a.x")
/// where v is a VarRef, j1, j2, j3 are joins, a is an extent and x is a columns.
/// This has to be translated eventually into {j'}.{x'}
///
/// The source field represents the outermost SqlStatement representing a join
/// expression (say j2) - this is always a Join symbol.
///
/// The column field keeps moving from one join symbol to the next, until it
/// stops at a non-join symbol.
///
/// This is returned by ,
/// but never makes it into a SqlBuilder.
///
class SymbolPair : ISqlFragment
{
public Symbol Source;
public Symbol Column;
public SymbolPair(Symbol source, Symbol column)
{
this.Source = source;
this.Column = column;
}
#region ISqlFragment Members
public void WriteSql(SqlWriter writer, SqlGenerator sqlGenerator)
{
// Symbol pair should never be part of a SqlBuilder.
Debug.Assert(false);
}
#endregion
}
}
// 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
{
///
/// The SymbolPair exists to solve the record flattening problem.
///
/// Consider a property expression D(v, "j3.j2.j1.a.x")
/// where v is a VarRef, j1, j2, j3 are joins, a is an extent and x is a columns.
/// This has to be translated eventually into {j'}.{x'}
///
/// The source field represents the outermost SqlStatement representing a join
/// expression (say j2) - this is always a Join symbol.
///
/// The column field keeps moving from one join symbol to the next, until it
/// stops at a non-join symbol.
///
/// This is returned by ,
/// but never makes it into a SqlBuilder.
///
class SymbolPair : ISqlFragment
{
public Symbol Source;
public Symbol Column;
public SymbolPair(Symbol source, Symbol column)
{
this.Source = source;
this.Column = column;
}
#region ISqlFragment Members
public void WriteSql(SqlWriter writer, SqlGenerator sqlGenerator)
{
// Symbol pair should never be part of a SqlBuilder.
Debug.Assert(false);
}
#endregion
}
}
// 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
- DropDownButton.cs
- Path.cs
- WebHttpBehavior.cs
- CheckableControlBaseAdapter.cs
- FormViewInsertEventArgs.cs
- SqlMetaData.cs
- KeyTimeConverter.cs
- CellTreeNodeVisitors.cs
- HttpConfigurationSystem.cs
- Message.cs
- control.ime.cs
- XmlDomTextWriter.cs
- UserInitiatedRoutedEventPermissionAttribute.cs
- TextBoxLine.cs
- Figure.cs
- MenuItem.cs
- XmlnsPrefixAttribute.cs
- ReferenceEqualityComparer.cs
- SelectorItemAutomationPeer.cs
- ImmutableCollection.cs
- InputScope.cs
- IImplicitResourceProvider.cs
- NamedPipeTransportBindingElement.cs
- TransactionChannelListener.cs
- InvalidProgramException.cs
- TemplateAction.cs
- WorkflowLayouts.cs
- OleDbStruct.cs
- MetadataException.cs
- GroupStyle.cs
- DesignerUtility.cs
- DependencyObjectProvider.cs
- MethodAccessException.cs
- XmlSchemaGroup.cs
- TextTreeUndo.cs
- AbstractSvcMapFileLoader.cs
- Pts.cs
- ContextDataSource.cs
- CallbackException.cs
- DodSequenceMerge.cs
- IndicCharClassifier.cs
- path.cs
- ModelItem.cs
- ParseElementCollection.cs
- AutoResizedEvent.cs
- FunctionCommandText.cs
- SubclassTypeValidator.cs
- ReturnValue.cs
- DataGridViewButtonColumn.cs
- ObjectSelectorEditor.cs
- contentDescriptor.cs
- ClientConfigPaths.cs
- MappingItemCollection.cs
- ButtonColumn.cs
- ClientConfigPaths.cs
- ScriptRegistrationManager.cs
- HtmlInputControl.cs
- ProgressBarAutomationPeer.cs
- Enlistment.cs
- GridViewRowEventArgs.cs
- SplitterPanel.cs
- ArraySubsetEnumerator.cs
- MediaTimeline.cs
- PropertyChangedEventArgs.cs
- Schema.cs
- LinearGradientBrush.cs
- DisplayMemberTemplateSelector.cs
- CrossAppDomainChannel.cs
- WindowsListView.cs
- CompositionAdorner.cs
- CollectionChangeEventArgs.cs
- DataGridHeaderBorder.cs
- DataGridCell.cs
- SequentialWorkflowHeaderFooter.cs
- Accessors.cs
- AppSettingsReader.cs
- InvalidEnumArgumentException.cs
- KeyInstance.cs
- __TransparentProxy.cs
- QuadraticBezierSegment.cs
- XmlBuffer.cs
- SelectingProviderEventArgs.cs
- HttpRawResponse.cs
- followingquery.cs
- HebrewCalendar.cs
- RoutingExtensionElement.cs
- DbProviderFactories.cs
- MaterializeFromAtom.cs
- XslAst.cs
- ToolStripRendererSwitcher.cs
- SmiEventSink.cs
- ProcessModuleCollection.cs
- Panel.cs
- Accessible.cs
- SQLMoney.cs
- ToolStripDropDownClosingEventArgs.cs
- BitmapCodecInfoInternal.cs
- LastQueryOperator.cs
- FilteredAttributeCollection.cs
- InvalidCommandTreeException.cs