Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataEntity / System / Data / SqlClient / SqlGen / OptionalColumn.cs / 1305376 / OptionalColumn.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] //--------------------------------------------------------------------- using System; using System.Collections.Generic; using System.Diagnostics; namespace System.Data.SqlClient.SqlGen { ////// Represents a column in a select list that should be printed only if it is later used. /// Such columns get added by internal sealed class OptionalColumn { #region Private State private readonly SymbolUsageManager m_usageManager; // The SqlBuilder that contains the column building blocks (e.g: "c.X as X1") private readonly SqlBuilder m_builder = new SqlBuilder(); // The symbol representing the optional column private readonly Symbol m_symbol; #endregion #region Internal Methods ///. /// The SymbolUsageManager associated with the OptionalColumn has the information whether the column /// has been used based on its symbol. /// /// Append to the "fragment" representing this column /// internal void Append(object s) { m_builder.Append(s); } internal void MarkAsUsed() { this.m_usageManager.MarkAsUsed(this.m_symbol); } #endregion #region Constructor internal OptionalColumn(SymbolUsageManager usageManager, Symbol symbol) { this.m_usageManager = usageManager; this.m_symbol = symbol; } #endregion #region Internal members ////// Writes that fragment that represents the optional column /// if the usage manager says it is used. /// /// /// public bool WriteSqlIfUsed(SqlWriter writer, SqlGenerator sqlGenerator, string separator) { if (m_usageManager.IsUsed(m_symbol)) { writer.Write(separator); m_builder.WriteSql(writer, sqlGenerator); return true; } return 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
- StickyNoteHelper.cs
- SchemaImporterExtensionElementCollection.cs
- NullableDoubleSumAggregationOperator.cs
- AxHost.cs
- ArrayExtension.cs
- RuntimeIdentifierPropertyAttribute.cs
- DurableEnlistmentState.cs
- TextTreeObjectNode.cs
- SqlConnection.cs
- Crc32Helper.cs
- CodeAttachEventStatement.cs
- ObjectDataSourceSelectingEventArgs.cs
- DifferencingCollection.cs
- MSAAWinEventWrap.cs
- WindowsListViewScroll.cs
- CqlQuery.cs
- TextOptionsInternal.cs
- WebPartCatalogAddVerb.cs
- EntityDataSourceDataSelectionPanel.designer.cs
- _HelperAsyncResults.cs
- SendActivityDesignerTheme.cs
- WebControlsSection.cs
- ResourcePart.cs
- CDSsyncETWBCLProvider.cs
- BufferedStream.cs
- DataServiceHost.cs
- SystemInformation.cs
- VectorAnimationBase.cs
- DataGridViewImageColumn.cs
- DBNull.cs
- TransactionScopeDesigner.cs
- CriticalHandle.cs
- AssemblySettingAttributes.cs
- MatrixAnimationUsingKeyFrames.cs
- TrustManagerPromptUI.cs
- CodeLabeledStatement.cs
- SignedPkcs7.cs
- EncryptedKey.cs
- WebScriptEnablingBehavior.cs
- XmlFormatExtensionAttribute.cs
- WinEventWrap.cs
- KeyboardDevice.cs
- ExtendedPropertyDescriptor.cs
- Vars.cs
- ImageMap.cs
- SqlCacheDependencySection.cs
- MonikerProxyAttribute.cs
- Transactions.cs
- HMACRIPEMD160.cs
- ObservableCollectionDefaultValueFactory.cs
- SuppressMergeCheckAttribute.cs
- xsdvalidator.cs
- ErrorStyle.cs
- FloaterParaClient.cs
- DriveInfo.cs
- BrushConverter.cs
- GlyphShapingProperties.cs
- StartUpEventArgs.cs
- KnownAssembliesSet.cs
- XNodeNavigator.cs
- DocumentSequence.cs
- CodeTypeReferenceExpression.cs
- CommittableTransaction.cs
- SiteMapNodeCollection.cs
- FixedFlowMap.cs
- LogExtent.cs
- ValueQuery.cs
- WpfSharedBamlSchemaContext.cs
- httpstaticobjectscollection.cs
- GuidelineCollection.cs
- MinMaxParagraphWidth.cs
- EnumerableRowCollectionExtensions.cs
- ConnectionInterfaceCollection.cs
- HttpModulesSection.cs
- TranslateTransform3D.cs
- Paragraph.cs
- CodeValidator.cs
- CategoryGridEntry.cs
- EventDrivenDesigner.cs
- SingletonChannelAcceptor.cs
- DataRelationCollection.cs
- PeerObject.cs
- ImageDrawing.cs
- SqlException.cs
- InputLanguageProfileNotifySink.cs
- InlineCollection.cs
- MetaTableHelper.cs
- PathGeometry.cs
- SafeMILHandle.cs
- DbBuffer.cs
- FixedSOMTableCell.cs
- SafeSystemMetrics.cs
- ImageListUtils.cs
- LinearGradientBrush.cs
- SHA256Managed.cs
- PropertyGrid.cs
- OleDbSchemaGuid.cs
- ContainsRowNumberChecker.cs
- BookmarkInfo.cs
- ProcessHostMapPath.cs