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
- TextRunCacheImp.cs
- TextTreeInsertUndoUnit.cs
- ColorTransformHelper.cs
- MessageQueueException.cs
- DataObjectFieldAttribute.cs
- DataGridViewIntLinkedList.cs
- ValueQuery.cs
- CodeNamespaceCollection.cs
- UrlPropertyAttribute.cs
- GPStream.cs
- PropertyKey.cs
- MetafileHeaderWmf.cs
- ButtonField.cs
- SendingRequestEventArgs.cs
- DateTimePicker.cs
- infer.cs
- VariableQuery.cs
- ContentControl.cs
- ControlTemplate.cs
- TypeForwardedFromAttribute.cs
- DockAndAnchorLayout.cs
- WebPartDisplayModeCollection.cs
- CodeChecksumPragma.cs
- DataTableReaderListener.cs
- IteratorDescriptor.cs
- FormCollection.cs
- AttachedPropertyBrowsableWhenAttributePresentAttribute.cs
- NamespaceDecl.cs
- OperatingSystemVersionCheck.cs
- NavigatingCancelEventArgs.cs
- OdbcConnectionString.cs
- TextServicesHost.cs
- FileUtil.cs
- MenuAdapter.cs
- GAC.cs
- Mouse.cs
- JpegBitmapEncoder.cs
- ExtensionSurface.cs
- ConstructorArgumentAttribute.cs
- MessagePartDescriptionCollection.cs
- WindowsNonControl.cs
- TextModifier.cs
- ipaddressinformationcollection.cs
- ObjectIDGenerator.cs
- ExtentJoinTreeNode.cs
- IssuedTokenServiceCredential.cs
- InternalsVisibleToAttribute.cs
- CompositeClientFormatter.cs
- SoapReflectionImporter.cs
- ProbeDuplex11AsyncResult.cs
- EmbeddedMailObject.cs
- VirtualPathProvider.cs
- XmlReader.cs
- BitmapScalingModeValidation.cs
- DesignerForm.cs
- WindowsStatusBar.cs
- DataGridViewDataConnection.cs
- ValueTypeFieldReference.cs
- AutomationFocusChangedEventArgs.cs
- AncestorChangedEventArgs.cs
- CodeExpressionStatement.cs
- FixedSOMTableCell.cs
- ControlPaint.cs
- ConstraintStruct.cs
- RegexBoyerMoore.cs
- ComNativeDescriptor.cs
- InvalidPrinterException.cs
- PropertyOrder.cs
- SymmetricKeyWrap.cs
- DoubleAverageAggregationOperator.cs
- SchemaTableOptionalColumn.cs
- datacache.cs
- ListenerHandler.cs
- DataObjectEventArgs.cs
- FatalException.cs
- ExtenderControl.cs
- InvokeMethodActivity.cs
- Journal.cs
- ClrProviderManifest.cs
- BaseCollection.cs
- FacetEnabledSchemaElement.cs
- SafeRightsManagementSessionHandle.cs
- WebPartEditorOkVerb.cs
- HtmlProps.cs
- _TimerThread.cs
- CategoryAttribute.cs
- FileIOPermission.cs
- GacUtil.cs
- DataGrid.cs
- XmlObjectSerializerReadContextComplex.cs
- WsatServiceCertificate.cs
- DataBindingHandlerAttribute.cs
- MouseButtonEventArgs.cs
- ThemeableAttribute.cs
- CodeSnippetTypeMember.cs
- SqlConnectionPoolGroupProviderInfo.cs
- BridgeDataReader.cs
- XmlNullResolver.cs
- UInt64Converter.cs
- ContainerUIElement3D.cs