Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / ndp / fx / src / DataEntity / System / Data / Map / Update / Internal / ChangeNode.cs / 1 / ChangeNode.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] // @backupOwner [....] //--------------------------------------------------------------------- using System.Data.Metadata.Edm; using System.Collections.Generic; using System.Text; using System.Globalization; namespace System.Data.Mapping.Update.Internal { ////// This class encapsulates changes propagated to a node in an update mapping view. /// It contains lists of deleted and inserted rows. Key intersections betweens rows /// in the two sets are treated as updates in the store. /// ////// internal class ChangeNode { #region Constructors ////// Additional tags indicating the roles of particular values (e.g., concurrency, undefined, /// etc.) are stored within each row: where appropriate, constants appearing /// within a row are associated with a ///through the . /// /// The 'leaves' of an update mapping view (UMV) are extent expressions. A change node /// associated with an extent expression is simply the list of changes to the C-Space /// requested by a caller. As changes propagate 'up' the UMV expression tree, we recursively /// apply transformations such that the change node associated with the root of the UMV /// represents changes to apply in the S-Space. /// ////// Constructs a change node containing changes belonging to the specified collection /// schema definition. /// /// Setsproperty. internal ChangeNode(TypeUsage elementType) { m_elementType = elementType; } #endregion #region Fields private TypeUsage m_elementType; private List m_inserted = new List (); private List m_deleted = new List (); private PropagatorResult m_placeholder; #endregion #region Properties /// /// Gets the type of the rows contained in this node. This type corresponds (not coincidentally) /// to the type of an expression in an update mapping view. /// internal TypeUsage ElementType { get { return m_elementType; } } ////// Gets a list of rows to be inserted. /// internal ListInserted { get { return m_inserted; } } /// /// Gets a list of rows to be deleted. /// internal ListDeleted { get { return m_deleted; } } /// /// Gets or sets a version of a record at this node with default record. The record has the type /// of the node we are visiting. /// internal PropagatorResult Placeholder { get { return m_placeholder; } set { m_placeholder = value; } } #endregion #if DEBUG public override string ToString() { StringBuilder builder = new StringBuilder(); builder.AppendLine("{"); builder.AppendFormat(CultureInfo.InvariantCulture, " ElementType = {0}", ElementType).AppendLine(); builder.AppendLine(" Inserted = {"); foreach (PropagatorResult insert in Inserted) { builder.Append(" ").AppendLine(insert.ToString()); } builder.AppendLine(" }"); builder.AppendLine(" Deleted = {"); foreach (PropagatorResult delete in Deleted) { builder.Append(" ").AppendLine(delete.ToString()); } builder.AppendLine(" }"); builder.AppendFormat(CultureInfo.InvariantCulture, " PlaceHolder = {0}", Placeholder).AppendLine(); builder.Append("}"); return builder.ToString(); } #endif } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] // @backupOwner [....] //--------------------------------------------------------------------- using System.Data.Metadata.Edm; using System.Collections.Generic; using System.Text; using System.Globalization; namespace System.Data.Mapping.Update.Internal { ////// This class encapsulates changes propagated to a node in an update mapping view. /// It contains lists of deleted and inserted rows. Key intersections betweens rows /// in the two sets are treated as updates in the store. /// ////// internal class ChangeNode { #region Constructors ////// Additional tags indicating the roles of particular values (e.g., concurrency, undefined, /// etc.) are stored within each row: where appropriate, constants appearing /// within a row are associated with a ///through the . /// /// The 'leaves' of an update mapping view (UMV) are extent expressions. A change node /// associated with an extent expression is simply the list of changes to the C-Space /// requested by a caller. As changes propagate 'up' the UMV expression tree, we recursively /// apply transformations such that the change node associated with the root of the UMV /// represents changes to apply in the S-Space. /// ////// Constructs a change node containing changes belonging to the specified collection /// schema definition. /// /// Setsproperty. internal ChangeNode(TypeUsage elementType) { m_elementType = elementType; } #endregion #region Fields private TypeUsage m_elementType; private List m_inserted = new List (); private List m_deleted = new List (); private PropagatorResult m_placeholder; #endregion #region Properties /// /// Gets the type of the rows contained in this node. This type corresponds (not coincidentally) /// to the type of an expression in an update mapping view. /// internal TypeUsage ElementType { get { return m_elementType; } } ////// Gets a list of rows to be inserted. /// internal ListInserted { get { return m_inserted; } } /// /// Gets a list of rows to be deleted. /// internal ListDeleted { get { return m_deleted; } } /// /// Gets or sets a version of a record at this node with default record. The record has the type /// of the node we are visiting. /// internal PropagatorResult Placeholder { get { return m_placeholder; } set { m_placeholder = value; } } #endregion #if DEBUG public override string ToString() { StringBuilder builder = new StringBuilder(); builder.AppendLine("{"); builder.AppendFormat(CultureInfo.InvariantCulture, " ElementType = {0}", ElementType).AppendLine(); builder.AppendLine(" Inserted = {"); foreach (PropagatorResult insert in Inserted) { builder.Append(" ").AppendLine(insert.ToString()); } builder.AppendLine(" }"); builder.AppendLine(" Deleted = {"); foreach (PropagatorResult delete in Deleted) { builder.Append(" ").AppendLine(delete.ToString()); } builder.AppendLine(" }"); builder.AppendFormat(CultureInfo.InvariantCulture, " PlaceHolder = {0}", Placeholder).AppendLine(); builder.Append("}"); return builder.ToString(); } #endif } } // 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
- DictionaryGlobals.cs
- Button.cs
- BulletedListEventArgs.cs
- oledbmetadatacollectionnames.cs
- QueueProcessor.cs
- BaseTemplateParser.cs
- CodeCommentStatement.cs
- DesignerCategoryAttribute.cs
- InputReport.cs
- Page.cs
- OpenFileDialog.cs
- MatrixAnimationBase.cs
- Timeline.cs
- ComplexLine.cs
- __Filters.cs
- MsmqAppDomainProtocolHandler.cs
- DropSource.cs
- Light.cs
- oledbmetadatacolumnnames.cs
- FixedBufferAttribute.cs
- TypeTypeConverter.cs
- TextCharacters.cs
- DefaultValueTypeConverter.cs
- MetadataArtifactLoaderResource.cs
- HeaderCollection.cs
- ColumnClickEvent.cs
- InputBindingCollection.cs
- UITypeEditor.cs
- PngBitmapDecoder.cs
- DebuggerService.cs
- XmlEncoding.cs
- AssociationEndMember.cs
- NodeLabelEditEvent.cs
- ThreadStateException.cs
- SchemaImporterExtensionElementCollection.cs
- DataStreams.cs
- DataRelationPropertyDescriptor.cs
- COM2ColorConverter.cs
- Label.cs
- XmlSchemaValidator.cs
- TagPrefixInfo.cs
- StringReader.cs
- TextFormatterHost.cs
- ListViewEditEventArgs.cs
- DbProviderConfigurationHandler.cs
- FileFormatException.cs
- SettingsPropertyNotFoundException.cs
- IgnoreFileBuildProvider.cs
- ToolStripTemplateNode.cs
- CurrencyWrapper.cs
- SmiMetaDataProperty.cs
- PropertyCondition.cs
- FlowDocumentFormatter.cs
- DocumentScope.cs
- DBBindings.cs
- RoleManagerModule.cs
- DoubleAnimation.cs
- ErrorRuntimeConfig.cs
- XpsFilter.cs
- CredentialCache.cs
- XmlCodeExporter.cs
- TemplateField.cs
- StrokeNodeData.cs
- HtmlTableRow.cs
- TextServicesHost.cs
- PropertyRef.cs
- ADMembershipUser.cs
- CompositeTypefaceMetrics.cs
- AccessDataSourceDesigner.cs
- SecurityPermission.cs
- DetailsViewCommandEventArgs.cs
- ToolStripButton.cs
- TemplateContentLoader.cs
- ViewStateModeByIdAttribute.cs
- EntityContainerEntitySetDefiningQuery.cs
- OneOf.cs
- RSAOAEPKeyExchangeDeformatter.cs
- DataGridViewCellStyleConverter.cs
- SchemaReference.cs
- ComplexBindingPropertiesAttribute.cs
- SubtreeProcessor.cs
- UnsafeCollabNativeMethods.cs
- MonthChangedEventArgs.cs
- FileDetails.cs
- ProtocolsConfiguration.cs
- EarlyBoundInfo.cs
- SessionStateModule.cs
- ListViewInsertEventArgs.cs
- Vector3DKeyFrameCollection.cs
- SqlEnums.cs
- HtmlInputReset.cs
- ExtensionWindowHeader.cs
- Base64Stream.cs
- OleDbSchemaGuid.cs
- CheckBox.cs
- controlskin.cs
- EndEvent.cs
- TraceContextEventArgs.cs
- UriExt.cs
- Activity.cs