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
- FileReservationCollection.cs
- thaishape.cs
- JavaScriptObjectDeserializer.cs
- FocusWithinProperty.cs
- TreeNodeConverter.cs
- RadioButtonFlatAdapter.cs
- ScriptComponentDescriptor.cs
- TimelineGroup.cs
- OneOfTypeConst.cs
- TemplateControl.cs
- Version.cs
- DesignerListAdapter.cs
- KeysConverter.cs
- DnsPermission.cs
- EntityDataSourceConfigureObjectContext.cs
- ConfigXmlSignificantWhitespace.cs
- SimpleRecyclingCache.cs
- DateTimeStorage.cs
- LambdaExpression.cs
- AtomMaterializer.cs
- UIElementParaClient.cs
- WeakHashtable.cs
- Rfc2898DeriveBytes.cs
- DescendentsWalker.cs
- InputBuffer.cs
- XmlC14NWriter.cs
- WebPartAddingEventArgs.cs
- DynamicActivity.cs
- DecimalFormatter.cs
- EntityDataSourceColumn.cs
- MemberNameValidator.cs
- LoginCancelEventArgs.cs
- UserControlBuildProvider.cs
- CompilerState.cs
- CodeDOMUtility.cs
- CommandField.cs
- GeometryConverter.cs
- ByteAnimation.cs
- SourceLocationProvider.cs
- TimeSpanValidator.cs
- ReadWriteSpinLock.cs
- CoTaskMemSafeHandle.cs
- SerializerProvider.cs
- LogEntrySerializer.cs
- NewArrayExpression.cs
- RIPEMD160.cs
- ListViewItemCollectionEditor.cs
- DataGridViewColumnHeaderCell.cs
- BaseCollection.cs
- MembershipUser.cs
- SharedHttpTransportManager.cs
- EventProviderBase.cs
- GenericXmlSecurityTokenAuthenticator.cs
- CompiledRegexRunnerFactory.cs
- TextShapeableCharacters.cs
- AssemblyName.cs
- SqlNotificationEventArgs.cs
- RefreshPropertiesAttribute.cs
- OdbcParameterCollection.cs
- QuaternionAnimationUsingKeyFrames.cs
- HttpResponseWrapper.cs
- Rect3DValueSerializer.cs
- IUnknownConstantAttribute.cs
- InfoCardRSAOAEPKeyExchangeDeformatter.cs
- BindingListCollectionView.cs
- WmlLiteralTextAdapter.cs
- RegexCompilationInfo.cs
- BooleanSwitch.cs
- XmlUrlResolver.cs
- DbMetaDataCollectionNames.cs
- DbParameterHelper.cs
- PocoEntityKeyStrategy.cs
- SrgsRulesCollection.cs
- EventsTab.cs
- GeneralTransformGroup.cs
- SqlNotificationRequest.cs
- webbrowsersite.cs
- FamilyMapCollection.cs
- WindowsStatic.cs
- SolidColorBrush.cs
- IncrementalReadDecoders.cs
- ListViewItemEventArgs.cs
- CodeMethodInvokeExpression.cs
- ParseChildrenAsPropertiesAttribute.cs
- SqlStream.cs
- TransformedBitmap.cs
- XmlSerializer.cs
- SqlMultiplexer.cs
- XmlHierarchicalEnumerable.cs
- CaseStatementSlot.cs
- EntityContainerEntitySetDefiningQuery.cs
- DiagnosticTrace.cs
- RequestBringIntoViewEventArgs.cs
- SinglePhaseEnlistment.cs
- UnionExpr.cs
- httpapplicationstate.cs
- LockCookie.cs
- CodeTypeReferenceExpression.cs
- MulticastOption.cs
- UrlPropertyAttribute.cs