Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- RightsManagementEncryptedStream.cs
- RegionData.cs
- FillErrorEventArgs.cs
- SingleObjectCollection.cs
- BinaryReader.cs
- XmlSubtreeReader.cs
- SecurityKeyIdentifier.cs
- EditorResources.cs
- XXXInfos.cs
- ListItemCollection.cs
- ThreadStaticAttribute.cs
- SpellerInterop.cs
- IntranetCredentialPolicy.cs
- EdmValidator.cs
- Operand.cs
- DataObjectFieldAttribute.cs
- GridViewRow.cs
- EventPrivateKey.cs
- MimeReflector.cs
- ListControlBuilder.cs
- HebrewCalendar.cs
- URLString.cs
- ListViewGroupConverter.cs
- CodeDesigner.cs
- FontWeightConverter.cs
- ZipIOExtraFieldZip64Element.cs
- ADMembershipUser.cs
- NameObjectCollectionBase.cs
- List.cs
- WindowsFont.cs
- PermissionSet.cs
- GB18030Encoding.cs
- BaseParser.cs
- NavigationPropertyEmitter.cs
- Expander.cs
- BitmapCodecInfoInternal.cs
- Fx.cs
- PolyBezierSegmentFigureLogic.cs
- HtmlInputText.cs
- SoapServerMessage.cs
- ConnectionPointGlyph.cs
- DrawingState.cs
- StrongNameUtility.cs
- CheckoutException.cs
- Root.cs
- templategroup.cs
- AutoFocusStyle.xaml.cs
- IssuedTokenClientElement.cs
- LogEntryHeaderDeserializer.cs
- SQLChars.cs
- InstanceDataCollection.cs
- Membership.cs
- RealProxy.cs
- PeerNameRecordCollection.cs
- ReadWriteSpinLock.cs
- TableLayoutPanelCellPosition.cs
- CryptoApi.cs
- DocumentXPathNavigator.cs
- PointAnimation.cs
- Exception.cs
- SmtpDateTime.cs
- UserPersonalizationStateInfo.cs
- TextEffectResolver.cs
- IntSecurity.cs
- ActivityExecutionFilter.cs
- HttpUnhandledOperationInvoker.cs
- XamlPointCollectionSerializer.cs
- Rect3DConverter.cs
- GeneralTransformGroup.cs
- FamilyTypefaceCollection.cs
- CodeMemberEvent.cs
- input.cs
- RenderTargetBitmap.cs
- WebPartConnectionsConnectVerb.cs
- AliasedSlot.cs
- TemplateManager.cs
- CallTemplateAction.cs
- PolyLineSegment.cs
- XmlSchemaType.cs
- AccessViolationException.cs
- SelectionEditingBehavior.cs
- HScrollBar.cs
- CompletedAsyncResult.cs
- SystemFonts.cs
- TextServicesCompartmentEventSink.cs
- MetadataSection.cs
- InfoCardRSAOAEPKeyExchangeDeformatter.cs
- OutputCacheSettingsSection.cs
- AnnotationResource.cs
- ObjectCloneHelper.cs
- SystemException.cs
- Documentation.cs
- figurelengthconverter.cs
- ArgumentException.cs
- DataGridColumnDropSeparator.cs
- RoutedEventHandlerInfo.cs
- GridItemPattern.cs
- LogStore.cs
- Vector3DConverter.cs
- XmlSerializerVersionAttribute.cs