Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / 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
- FormView.cs
- FontStyles.cs
- RtfToXamlLexer.cs
- InputMethodStateChangeEventArgs.cs
- UntypedNullExpression.cs
- CompositeScriptReference.cs
- TrackingStringDictionary.cs
- SuppressMergeCheckAttribute.cs
- BuildManager.cs
- WMIGenerator.cs
- TextRangeEditLists.cs
- VisualTreeHelper.cs
- Popup.cs
- MemberMaps.cs
- ReferenceEqualityComparer.cs
- Calendar.cs
- _ProxyChain.cs
- ThreadStateException.cs
- FacetChecker.cs
- DataGridViewComponentPropertyGridSite.cs
- SiteMapNodeItem.cs
- GPRECT.cs
- Vector3DCollectionConverter.cs
- FontFamily.cs
- DesignerTextWriter.cs
- TreeIterator.cs
- Cloud.cs
- WeakReferenceEnumerator.cs
- ApplicationContext.cs
- ConfigPathUtility.cs
- GCHandleCookieTable.cs
- EmbossBitmapEffect.cs
- DesignTimeTemplateParser.cs
- SamlAssertionKeyIdentifierClause.cs
- ExpressionLexer.cs
- GeneralTransformGroup.cs
- DateTimeOffsetConverter.cs
- PixelShader.cs
- CqlWriter.cs
- Utility.cs
- SequentialUshortCollection.cs
- ByteAnimation.cs
- GridViewHeaderRowPresenterAutomationPeer.cs
- MetadataAssemblyHelper.cs
- OpenFileDialog.cs
- AsyncStreamReader.cs
- Debug.cs
- ConnectionPoint.cs
- EdmMember.cs
- SafeWaitHandle.cs
- Converter.cs
- WebPartAuthorizationEventArgs.cs
- BuilderPropertyEntry.cs
- BitmapDecoder.cs
- NavigationWindowAutomationPeer.cs
- MetadataArtifactLoaderResource.cs
- SiteMapNode.cs
- PropertyExpression.cs
- HMACSHA1.cs
- FileDetails.cs
- WebPartCancelEventArgs.cs
- ExpressionContext.cs
- TreeNodeCollection.cs
- StickyNoteAnnotations.cs
- Point.cs
- InputDevice.cs
- ProfilePropertySettingsCollection.cs
- LookupNode.cs
- DropDownList.cs
- GrammarBuilderDictation.cs
- Point3DCollection.cs
- WeakHashtable.cs
- NotifyIcon.cs
- SmiSettersStream.cs
- DesignerSelectionListAdapter.cs
- StrokeNodeData.cs
- MouseGestureConverter.cs
- TypeHelpers.cs
- TrackPoint.cs
- WizardForm.cs
- CssClassPropertyAttribute.cs
- RowBinding.cs
- SqlLiftIndependentRowExpressions.cs
- X509Utils.cs
- ObjectDataSource.cs
- SelfIssuedAuthProofToken.cs
- TargetControlTypeAttribute.cs
- ListItemDetailViewAttribute.cs
- SpellerError.cs
- BrowserPolicyValidator.cs
- XsltContext.cs
- MonthCalendar.cs
- WindowsFormsLinkLabel.cs
- TableAdapterManagerNameHandler.cs
- DynamicQueryableWrapper.cs
- SqlClientWrapperSmiStreamChars.cs
- DataBoundLiteralControl.cs
- ToolStripRendererSwitcher.cs
- HttpHandlerAction.cs
- PropertyInformationCollection.cs