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
- AdornerHitTestResult.cs
- ScriptingProfileServiceSection.cs
- AddressHeaderCollectionElement.cs
- DataStreams.cs
- ParsedAttributeCollection.cs
- Models.cs
- UnmanagedHandle.cs
- ImmutableObjectAttribute.cs
- IPAddressCollection.cs
- CallTemplateAction.cs
- PlanCompilerUtil.cs
- BinaryMessageFormatter.cs
- CreateUserWizard.cs
- BufferedReadStream.cs
- ServicesUtilities.cs
- DataGridViewSelectedCellCollection.cs
- DataGridRowClipboardEventArgs.cs
- ValidationHelper.cs
- QilTernary.cs
- EntityDataSourceEntityTypeFilterConverter.cs
- CollectionContainer.cs
- WindowsTab.cs
- StrongNameUtility.cs
- MachineKeyConverter.cs
- HitTestParameters3D.cs
- SqlBinder.cs
- DashStyles.cs
- ThemeDirectoryCompiler.cs
- KeyboardEventArgs.cs
- DataGridViewRowHeaderCell.cs
- BuilderPropertyEntry.cs
- WebPartDeleteVerb.cs
- DoubleConverter.cs
- SelectorItemAutomationPeer.cs
- DrawingCollection.cs
- ObjectComplexPropertyMapping.cs
- FixedSchema.cs
- Floater.cs
- BulletedList.cs
- DataControlFieldCollection.cs
- PageStatePersister.cs
- FrameworkElementFactory.cs
- BatchParser.cs
- CustomWebEventKey.cs
- PointCollection.cs
- RequestNavigateEventArgs.cs
- CopyOnWriteList.cs
- documentsequencetextcontainer.cs
- _NetworkingPerfCounters.cs
- HelpInfo.cs
- filewebresponse.cs
- WinInetCache.cs
- DocumentSchemaValidator.cs
- TableItemStyle.cs
- RecipientInfo.cs
- Internal.cs
- SQLDoubleStorage.cs
- DatePickerDateValidationErrorEventArgs.cs
- ListChangedEventArgs.cs
- UiaCoreProviderApi.cs
- Accessible.cs
- SamlAuthenticationClaimResource.cs
- SiteMapDataSource.cs
- File.cs
- MinimizableAttributeTypeConverter.cs
- XmlUnspecifiedAttribute.cs
- Quaternion.cs
- GeometryModel3D.cs
- FormatException.cs
- FixedTextBuilder.cs
- Brush.cs
- PermissionAttributes.cs
- ClickablePoint.cs
- COSERVERINFO.cs
- ResponseStream.cs
- WinHttpWebProxyFinder.cs
- NTAccount.cs
- StringSource.cs
- GetPageCompletedEventArgs.cs
- DataBindingExpressionBuilder.cs
- CodeIdentifier.cs
- StructureChangedEventArgs.cs
- PointLight.cs
- OleAutBinder.cs
- WindowsListViewItemCheckBox.cs
- FormViewInsertEventArgs.cs
- DbProviderFactory.cs
- Grammar.cs
- Attachment.cs
- LocalBuilder.cs
- TypeReference.cs
- Point4DConverter.cs
- Menu.cs
- Pen.cs
- Int32Animation.cs
- SqlInternalConnectionTds.cs
- FileChangesMonitor.cs
- RectIndependentAnimationStorage.cs
- BulletedListEventArgs.cs
- Base64Encoding.cs