Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataEntity / System / Data / Map / ViewGeneration / CqlGeneration / ExtentCqlBlock.cs / 1305376 / ExtentCqlBlock.cs
//----------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// @owner [....]
// @backupOwner [....]
//---------------------------------------------------------------------
using System.Text;
using System.Collections.Generic;
using System.Data.Mapping.ViewGeneration.Structures;
using System.Data.Common.Utils;
using System.Data.Metadata.Edm;
namespace System.Data.Mapping.ViewGeneration.CqlGeneration
{
// A class that corresponds to the leaf CQL Blocks in the CqlBlock tree
internal class ExtentCqlBlock : CqlBlock
{
private static readonly List EmptyChildren = new List();
#region Constructors
// effects: Creates an Extent CqlBlock corresponding to
// "extent" (the FROM part). SELECT is given by slots, WHERE by
// whereClause and AS by blockAliasNum
internal ExtentCqlBlock(EntitySetBase extent, CellQuery.SelectDistinct selectDistinct, SlotInfo[] slots,
BoolExpression whereClause, CqlIdentifiers identifiers, int blockAliasNum) :
base(slots, EmptyChildren, whereClause, identifiers, blockAliasNum)
{
m_extent = extent;
m_nodeTableAlias = identifiers.GetBlockAlias();
m_selectDistinct = selectDistinct;
}
#endregion
#region Fields
private EntitySetBase m_extent; // The extent for which we have this block
private string m_nodeTableAlias;
CellQuery.SelectDistinct m_selectDistinct;
#endregion
#region Methods
// effects: See CqlBlock.AsCql
internal override StringBuilder AsCql(StringBuilder builder, bool isTopLevel, int indentLevel)
{
// The SELECT part
GenerateProjectedtList(builder, indentLevel, m_nodeTableAlias, m_selectDistinct, false);
// Get the FROM part
builder.Append("FROM ");
// Get the extent object in C-Space (if m_extent is an S space object)
CqlWriter.AppendEscapedQualifiedName(builder, m_extent.EntityContainer.Name, m_extent.Name);
builder.Append(" AS ")
.Append(m_nodeTableAlias);
// Get the WHERE part only when the expression is not simply TRUE
if (false == BoolExpression.EqualityComparer.Equals(WhereClause, BoolExpression.True))
{
StringUtil.IndentNewLine(builder, indentLevel);
builder.Append("WHERE ");
WhereClause.AsCql(builder, m_nodeTableAlias);
}
return builder;
}
#endregion
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//----------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// @owner [....]
// @backupOwner [....]
//---------------------------------------------------------------------
using System.Text;
using System.Collections.Generic;
using System.Data.Mapping.ViewGeneration.Structures;
using System.Data.Common.Utils;
using System.Data.Metadata.Edm;
namespace System.Data.Mapping.ViewGeneration.CqlGeneration
{
// A class that corresponds to the leaf CQL Blocks in the CqlBlock tree
internal class ExtentCqlBlock : CqlBlock
{
private static readonly List EmptyChildren = new List();
#region Constructors
// effects: Creates an Extent CqlBlock corresponding to
// "extent" (the FROM part). SELECT is given by slots, WHERE by
// whereClause and AS by blockAliasNum
internal ExtentCqlBlock(EntitySetBase extent, CellQuery.SelectDistinct selectDistinct, SlotInfo[] slots,
BoolExpression whereClause, CqlIdentifiers identifiers, int blockAliasNum) :
base(slots, EmptyChildren, whereClause, identifiers, blockAliasNum)
{
m_extent = extent;
m_nodeTableAlias = identifiers.GetBlockAlias();
m_selectDistinct = selectDistinct;
}
#endregion
#region Fields
private EntitySetBase m_extent; // The extent for which we have this block
private string m_nodeTableAlias;
CellQuery.SelectDistinct m_selectDistinct;
#endregion
#region Methods
// effects: See CqlBlock.AsCql
internal override StringBuilder AsCql(StringBuilder builder, bool isTopLevel, int indentLevel)
{
// The SELECT part
GenerateProjectedtList(builder, indentLevel, m_nodeTableAlias, m_selectDistinct, false);
// Get the FROM part
builder.Append("FROM ");
// Get the extent object in C-Space (if m_extent is an S space object)
CqlWriter.AppendEscapedQualifiedName(builder, m_extent.EntityContainer.Name, m_extent.Name);
builder.Append(" AS ")
.Append(m_nodeTableAlias);
// Get the WHERE part only when the expression is not simply TRUE
if (false == BoolExpression.EqualityComparer.Equals(WhereClause, BoolExpression.True))
{
StringUtil.IndentNewLine(builder, indentLevel);
builder.Append("WHERE ");
WhereClause.AsCql(builder, m_nodeTableAlias);
}
return builder;
}
#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
- GeometryDrawing.cs
- ScriptingProfileServiceSection.cs
- DataGridTextColumn.cs
- IpcChannelHelper.cs
- PositiveTimeSpanValidatorAttribute.cs
- AuthorizationRuleCollection.cs
- ResourcesGenerator.cs
- GroupByQueryOperator.cs
- ThousandthOfEmRealPoints.cs
- DataRowChangeEvent.cs
- LocatorGroup.cs
- FontNameEditor.cs
- DrawingCollection.cs
- WorkflowRuntimeService.cs
- RequestTimeoutManager.cs
- Grid.cs
- SchemaNames.cs
- BreakSafeBase.cs
- Deflater.cs
- GraphicsState.cs
- ConnectionPoint.cs
- RC2.cs
- AnnotationObservableCollection.cs
- VideoDrawing.cs
- xmlNames.cs
- MsdtcClusterUtils.cs
- TextTreeUndo.cs
- XmlIlTypeHelper.cs
- Converter.cs
- RootBrowserWindowProxy.cs
- CFStream.cs
- Int64AnimationBase.cs
- DesignerTransaction.cs
- MappingItemCollection.cs
- MatrixConverter.cs
- _UriSyntax.cs
- RecognizeCompletedEventArgs.cs
- Sql8ExpressionRewriter.cs
- TextPattern.cs
- InternalControlCollection.cs
- FixUp.cs
- TraceSection.cs
- diagnosticsswitches.cs
- TypeBuilder.cs
- ComboBoxItem.cs
- FileDialog_Vista.cs
- XmlParserContext.cs
- DataGridViewCellPaintingEventArgs.cs
- DES.cs
- Encoder.cs
- XmlSchemaSimpleTypeUnion.cs
- CultureInfo.cs
- TextTreeDeleteContentUndoUnit.cs
- HttpCookiesSection.cs
- ListSortDescriptionCollection.cs
- ResXResourceWriter.cs
- RegexMatchCollection.cs
- Bezier.cs
- TargetException.cs
- GeometryHitTestResult.cs
- StylusOverProperty.cs
- SiteMapSection.cs
- ComponentCommands.cs
- CollectionConverter.cs
- BufferBuilder.cs
- DescendentsWalker.cs
- InvalidDataContractException.cs
- ListQueryResults.cs
- PopOutPanel.cs
- Blend.cs
- HandlerWithFactory.cs
- ContentPosition.cs
- AmbientProperties.cs
- XmlBinaryReader.cs
- EventToken.cs
- Base64Encoding.cs
- _SecureChannel.cs
- PathFigureCollectionConverter.cs
- HtmlInputFile.cs
- MappingModelBuildProvider.cs
- CompositionAdorner.cs
- PrivateFontCollection.cs
- RequestQueue.cs
- EncodingInfo.cs
- TaiwanLunisolarCalendar.cs
- FilterableAttribute.cs
- CombinedTcpChannel.cs
- HotSpotCollectionEditor.cs
- HttpPostedFileWrapper.cs
- StretchValidation.cs
- DateTimeUtil.cs
- WinFormsSecurity.cs
- SspiWrapper.cs
- EndpointDispatcher.cs
- ReflectTypeDescriptionProvider.cs
- DataObjectMethodAttribute.cs
- SHA256.cs
- DurationConverter.cs
- SmiMetaData.cs
- SoapBinding.cs