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
- _BaseOverlappedAsyncResult.cs
- StyleConverter.cs
- XpsException.cs
- RetrieveVirtualItemEventArgs.cs
- SEHException.cs
- SvcFileManager.cs
- SecondaryViewProvider.cs
- Geometry3D.cs
- Quad.cs
- keycontainerpermission.cs
- ParallelEnumerableWrapper.cs
- EndEvent.cs
- ServiceManagerHandle.cs
- PhysicalOps.cs
- InheritedPropertyChangedEventArgs.cs
- ApplicationBuildProvider.cs
- XmlNodeWriter.cs
- LookupNode.cs
- InProcStateClientManager.cs
- CommonDialog.cs
- MemoryMappedFile.cs
- IResourceProvider.cs
- TerminatingOperationBehavior.cs
- Range.cs
- BaseHashHelper.cs
- HttpFileCollection.cs
- Span.cs
- MouseEventArgs.cs
- GPRECT.cs
- RolePrincipal.cs
- BinaryOperationBinder.cs
- StyleSheet.cs
- StylusButton.cs
- BooleanConverter.cs
- ChannelSinkStacks.cs
- DataRowCollection.cs
- DataGridRelationshipRow.cs
- MarkedHighlightComponent.cs
- PageCanvasSize.cs
- ReflectionHelper.cs
- ControlDesigner.cs
- TypeInfo.cs
- BaseCollection.cs
- PocoPropertyAccessorStrategy.cs
- Validator.cs
- ListView.cs
- SafeEventLogWriteHandle.cs
- IteratorDescriptor.cs
- BehaviorEditorPart.cs
- CultureSpecificCharacterBufferRange.cs
- ModifiableIteratorCollection.cs
- ToolboxItem.cs
- TypefaceCollection.cs
- ProcessingInstructionAction.cs
- PageSettings.cs
- thaishape.cs
- DbConnectionStringBuilder.cs
- SqlConnectionPoolGroupProviderInfo.cs
- DelegateBodyWriter.cs
- RuleSetBrowserDialog.cs
- JournalEntry.cs
- GAC.cs
- QueueProcessor.cs
- NavigatorOutput.cs
- ToolStripControlHost.cs
- ToolStripDesigner.cs
- TextViewBase.cs
- WebResourceAttribute.cs
- WebPartMinimizeVerb.cs
- ZipFileInfo.cs
- RequestContextBase.cs
- ChildChangedEventArgs.cs
- EventManager.cs
- QueryParameter.cs
- TextServicesLoader.cs
- WindowsPrincipal.cs
- TextBlock.cs
- CompositeDataBoundControl.cs
- RepeaterItemEventArgs.cs
- StringDictionaryCodeDomSerializer.cs
- ExeConfigurationFileMap.cs
- DropShadowBitmapEffect.cs
- OutputCacheModule.cs
- LicenseContext.cs
- EventItfInfo.cs
- TextEditorCharacters.cs
- SignedPkcs7.cs
- XmlILModule.cs
- RewritingSimplifier.cs
- CharAnimationUsingKeyFrames.cs
- Command.cs
- DataGridAutomationPeer.cs
- InfiniteIntConverter.cs
- DbConnectionInternal.cs
- HttpListenerException.cs
- IssuedTokenParametersElement.cs
- ByteStorage.cs
- odbcmetadatacollectionnames.cs
- KeyValuePairs.cs
- SymLanguageType.cs