Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- ComboBoxDesigner.cs
- PropertyMetadata.cs
- SpecularMaterial.cs
- StringUtil.cs
- CurrentTimeZone.cs
- GifBitmapDecoder.cs
- MultiSelectRootGridEntry.cs
- AuthStoreRoleProvider.cs
- ExternalException.cs
- _ContextAwareResult.cs
- MemberListBinding.cs
- OleDbTransaction.cs
- CollectionChangedEventManager.cs
- BinaryHeap.cs
- GroupDescription.cs
- TickBar.cs
- util.cs
- securitycriticaldataClass.cs
- FlowLayoutSettings.cs
- DragCompletedEventArgs.cs
- SrgsSubset.cs
- ObjectDataSourceMethodEventArgs.cs
- RIPEMD160Managed.cs
- GroupBox.cs
- PartitionedDataSource.cs
- safePerfProviderHandle.cs
- Double.cs
- CodeSubDirectoriesCollection.cs
- ListBindingHelper.cs
- RadioButton.cs
- TransformProviderWrapper.cs
- CopyAttributesAction.cs
- DeclaredTypeValidator.cs
- SectionUpdates.cs
- XmlSequenceWriter.cs
- CustomWebEventKey.cs
- RoleExceptions.cs
- WebPart.cs
- LayoutUtils.cs
- BamlStream.cs
- EasingKeyFrames.cs
- XmlSchema.cs
- odbcmetadatacollectionnames.cs
- DesignerOptions.cs
- GlyphTypeface.cs
- XmlSchemaAll.cs
- Int64AnimationBase.cs
- SQLDateTimeStorage.cs
- WriteStateInfoBase.cs
- DataContractSerializerOperationGenerator.cs
- MessageProtectionOrder.cs
- XPathBinder.cs
- XmlSchemaSubstitutionGroup.cs
- Membership.cs
- Stylesheet.cs
- RegexCaptureCollection.cs
- RoutedCommand.cs
- HttpCachePolicyElement.cs
- EventTask.cs
- RegexCode.cs
- RadioButtonFlatAdapter.cs
- IgnoreFlushAndCloseStream.cs
- DataFormats.cs
- TimeoutTimer.cs
- TcpServerChannel.cs
- ScrollProviderWrapper.cs
- XPathSingletonIterator.cs
- Overlapped.cs
- PolyLineSegmentFigureLogic.cs
- StringFunctions.cs
- Closure.cs
- Geometry.cs
- DataGridViewAdvancedBorderStyle.cs
- ScrollItemPatternIdentifiers.cs
- IdnElement.cs
- CodeLabeledStatement.cs
- controlskin.cs
- PriorityItem.cs
- RequestQueue.cs
- AssociationSetMetadata.cs
- TransformCollection.cs
- AlgoModule.cs
- ServiceReference.cs
- LoadedEvent.cs
- ZipIOExtraField.cs
- CultureInfoConverter.cs
- BitmapSizeOptions.cs
- QilValidationVisitor.cs
- ObjectMemberMapping.cs
- ThrowHelper.cs
- Function.cs
- MissingSatelliteAssemblyException.cs
- Set.cs
- Recipient.cs
- securitymgrsite.cs
- DesignTimeValidationFeature.cs
- UiaCoreApi.cs
- LoginUtil.cs
- Int32AnimationUsingKeyFrames.cs
- DbConnectionOptions.cs