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
- Rect.cs
- SystemIPInterfaceProperties.cs
- DynamicRenderer.cs
- DataServiceRequestException.cs
- DataServiceKeyAttribute.cs
- CorrelationScope.cs
- RealProxy.cs
- TypeInitializationException.cs
- WsatStrings.cs
- CheckPair.cs
- TypeDependencyAttribute.cs
- InvalidOperationException.cs
- ArraySet.cs
- SqlDesignerDataSourceView.cs
- ASCIIEncoding.cs
- XPathArrayIterator.cs
- DashStyle.cs
- SingleAnimationBase.cs
- DbLambda.cs
- X509Utils.cs
- BindingValueChangedEventArgs.cs
- GroupByQueryOperator.cs
- SqlRowUpdatedEvent.cs
- RubberbandSelector.cs
- ManagementScope.cs
- __TransparentProxy.cs
- FormView.cs
- BaseComponentEditor.cs
- CharacterHit.cs
- SByteConverter.cs
- ContextMenuStrip.cs
- TargetConverter.cs
- RequestQueryParser.cs
- TextCompositionEventArgs.cs
- ISAPIRuntime.cs
- RegexRunnerFactory.cs
- StylusSystemGestureEventArgs.cs
- SystemResourceKey.cs
- RijndaelManagedTransform.cs
- Int64Storage.cs
- LinkUtilities.cs
- Wow64ConfigurationLoader.cs
- SecurityState.cs
- ToolStripPanelRow.cs
- MaskedTextBoxTextEditor.cs
- XmlReflectionImporter.cs
- SqlGenericUtil.cs
- TabPanel.cs
- ScriptDescriptor.cs
- SmiEventStream.cs
- SetterBaseCollection.cs
- MouseActionValueSerializer.cs
- Matrix3D.cs
- AdapterDictionary.cs
- FlowLayoutPanel.cs
- WindowsComboBox.cs
- ReflectionPermission.cs
- XsdCachingReader.cs
- EmptyElement.cs
- smtppermission.cs
- SpellerError.cs
- WebPartsPersonalization.cs
- Timer.cs
- QueryCacheEntry.cs
- isolationinterop.cs
- ScrollBarRenderer.cs
- StylusPointProperties.cs
- SystemResources.cs
- SqlDataReader.cs
- TreeNodeBindingCollection.cs
- CacheDict.cs
- KeyboardInputProviderAcquireFocusEventArgs.cs
- ExpressionEvaluator.cs
- ClientUIRequest.cs
- XmlSchemaAttributeGroup.cs
- ObjectContext.cs
- ColumnProvider.cs
- ExtensionFile.cs
- SwitchLevelAttribute.cs
- SchemaElementLookUpTableEnumerator.cs
- XPathParser.cs
- ToggleProviderWrapper.cs
- MimePart.cs
- AvTraceFormat.cs
- ICspAsymmetricAlgorithm.cs
- Helpers.cs
- MILUtilities.cs
- DocumentViewerConstants.cs
- SimpleType.cs
- TabPage.cs
- XmlSerializerAssemblyAttribute.cs
- BamlLocalizableResource.cs
- QuaternionAnimation.cs
- WebBrowserDocumentCompletedEventHandler.cs
- ResourceCategoryAttribute.cs
- ProfilePropertySettings.cs
- WebPartDescription.cs
- XmlAttribute.cs
- SqlVisitor.cs
- TripleDESCryptoServiceProvider.cs