Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataEntity / System / Data / Map / Update / Internal / ChangeNode.cs / 1305376 / 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
- DocumentGrid.cs
- DataSysAttribute.cs
- DesignConnectionCollection.cs
- ThemeableAttribute.cs
- ValueSerializer.cs
- MetadataStore.cs
- ListViewGroupItemCollection.cs
- EndOfStreamException.cs
- ScriptingSectionGroup.cs
- ColumnWidthChangingEvent.cs
- TableLayoutPanelResizeGlyph.cs
- XmlResolver.cs
- TrustSection.cs
- SevenBitStream.cs
- TransactionFilter.cs
- EditorBrowsableAttribute.cs
- FileUpload.cs
- FilteredXmlReader.cs
- EntryPointNotFoundException.cs
- ToolStripOverflowButton.cs
- GZipDecoder.cs
- OleCmdHelper.cs
- GridViewSortEventArgs.cs
- ValidationRule.cs
- Currency.cs
- ZipIOZip64EndOfCentralDirectoryBlock.cs
- OdbcHandle.cs
- PropertyValueUIItem.cs
- FontResourceCache.cs
- WindowsPrincipal.cs
- InstanceDescriptor.cs
- GlobalProxySelection.cs
- XmlCustomFormatter.cs
- IERequestCache.cs
- DataControlCommands.cs
- EventLogger.cs
- EntityDataSourceMemberPath.cs
- DockPanel.cs
- MultipleViewPattern.cs
- TextSchema.cs
- Item.cs
- ConfigurationErrorsException.cs
- ActivityXRefConverter.cs
- ServiceNameCollection.cs
- AuthenticodeSignatureInformation.cs
- MergablePropertyAttribute.cs
- MinMaxParagraphWidth.cs
- ISO2022Encoding.cs
- ListViewCommandEventArgs.cs
- XmlCustomFormatter.cs
- TreeNodeMouseHoverEvent.cs
- EntityWrapper.cs
- CollectionViewGroupInternal.cs
- DisplayNameAttribute.cs
- ChildrenQuery.cs
- ComboBoxAutomationPeer.cs
- BrushConverter.cs
- TextPointerBase.cs
- SchemaNamespaceManager.cs
- PreparingEnlistment.cs
- ConstantExpression.cs
- BoolExpr.cs
- Rect3D.cs
- DynamicILGenerator.cs
- ThreadStaticAttribute.cs
- WebPartManagerInternals.cs
- SlotInfo.cs
- ArrayEditor.cs
- Msec.cs
- IssuedTokenClientElement.cs
- UrlEncodedParameterWriter.cs
- DocumentGridPage.cs
- HyperLinkColumn.cs
- MetabaseServerConfig.cs
- EntityEntry.cs
- DbConnectionHelper.cs
- TimeSpanStorage.cs
- TypeConstant.cs
- SessionParameter.cs
- DataGridViewTopLeftHeaderCell.cs
- DocumentScope.cs
- EventLogReader.cs
- FormsIdentity.cs
- X509Certificate.cs
- CustomErrorsSectionWrapper.cs
- ServiceDescriptions.cs
- Tracer.cs
- KnownAssembliesSet.cs
- EntityDataSourceConfigureObjectContextPanel.cs
- SQLInt32Storage.cs
- AdornerDecorator.cs
- SourceFileBuildProvider.cs
- CompositionTarget.cs
- FileInfo.cs
- EventLogInternal.cs
- ElementFactory.cs
- _Win32.cs
- UshortList2.cs
- FloatAverageAggregationOperator.cs
- RuleElement.cs