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
- XmlParser.cs
- SevenBitStream.cs
- InputLanguageProfileNotifySink.cs
- XmlKeywords.cs
- DesignerAdRotatorAdapter.cs
- ReadOnlyDataSourceView.cs
- SecurityIdentifierConverter.cs
- ConfigurationValidatorBase.cs
- KeyInfo.cs
- WrappingXamlSchemaContext.cs
- HtmlShim.cs
- XmlSchemaElement.cs
- TextEndOfSegment.cs
- DataGridViewIntLinkedList.cs
- MapPathBasedVirtualPathProvider.cs
- CodeArrayIndexerExpression.cs
- HebrewCalendar.cs
- ClickablePoint.cs
- ScrollEventArgs.cs
- TextBox.cs
- XmlDataImplementation.cs
- BindingListCollectionView.cs
- Configuration.cs
- ExpressionNode.cs
- WebPartCatalogAddVerb.cs
- XmlTextWriter.cs
- LayoutEditorPart.cs
- SqlNotificationEventArgs.cs
- Rect.cs
- ExpressionDumper.cs
- WrapPanel.cs
- XPathMessageFilterElementCollection.cs
- TimeSpanValidator.cs
- StreamHelper.cs
- AudioException.cs
- PngBitmapDecoder.cs
- UInt32Storage.cs
- GridItemPattern.cs
- UpdateExpressionVisitor.cs
- ServerValidateEventArgs.cs
- CodeGenerationManager.cs
- SimpleHandlerBuildProvider.cs
- DesignTimeValidationFeature.cs
- XmlMtomReader.cs
- BoundColumn.cs
- EntityViewGenerationAttribute.cs
- FormsAuthenticationModule.cs
- DataServiceSaveChangesEventArgs.cs
- Scripts.cs
- SqlProfileProvider.cs
- Matrix.cs
- Monitor.cs
- DocumentGridContextMenu.cs
- NetCodeGroup.cs
- MediaSystem.cs
- WbemException.cs
- ExecutorLocksHeldException.cs
- CompressedStack.cs
- CodeEntryPointMethod.cs
- FixedDocumentSequencePaginator.cs
- XPathSelfQuery.cs
- HttpResponse.cs
- ParentControlDesigner.cs
- OutputWindow.cs
- ListCollectionView.cs
- TypeCodeDomSerializer.cs
- RegistryConfigurationProvider.cs
- CultureTableRecord.cs
- Typography.cs
- DataGridViewCellStyleContentChangedEventArgs.cs
- Vector3D.cs
- GridItemPattern.cs
- recordstatefactory.cs
- BamlBinaryWriter.cs
- EditorPartChrome.cs
- PenThreadWorker.cs
- EntityContainerRelationshipSetEnd.cs
- TextMessageEncoder.cs
- DataSetFieldSchema.cs
- ParserStreamGeometryContext.cs
- ApplicationSecurityInfo.cs
- ProcessHostServerConfig.cs
- SqlLiftWhereClauses.cs
- SystemIPGlobalProperties.cs
- BamlRecordHelper.cs
- _BaseOverlappedAsyncResult.cs
- HtmlPageAdapter.cs
- StateRuntime.cs
- DBConnectionString.cs
- IMembershipProvider.cs
- UnsafeNativeMethods.cs
- UTF32Encoding.cs
- FieldReference.cs
- InputChannelBinder.cs
- DataGridViewRowConverter.cs
- ListViewVirtualItemsSelectionRangeChangedEvent.cs
- DataObjectMethodAttribute.cs
- ListViewGroupCollectionEditor.cs
- TemplateNameScope.cs
- DynamicEndpoint.cs