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
- GeneralTransform.cs
- CultureInfo.cs
- WeakRefEnumerator.cs
- SmtpSection.cs
- FontInfo.cs
- BinaryObjectInfo.cs
- ProcessModuleCollection.cs
- WindowsToolbarItemAsMenuItem.cs
- XPathSelectionIterator.cs
- TypeUsageBuilder.cs
- DataGridViewRowErrorTextNeededEventArgs.cs
- ErrorHandler.cs
- MarkupProperty.cs
- DesignSurfaceManager.cs
- WorkflowTransactionService.cs
- VisualTarget.cs
- SingleStorage.cs
- EdmProperty.cs
- IssuerInformation.cs
- WebServiceParameterData.cs
- SingleAnimation.cs
- ExecutionContext.cs
- ObjectRef.cs
- PrinterUnitConvert.cs
- IisTraceWebEventProvider.cs
- TextParagraphProperties.cs
- ExtensibleSyndicationObject.cs
- DotNetATv1WindowsLogEntrySerializer.cs
- ScrollViewerAutomationPeer.cs
- DataBindEngine.cs
- Message.cs
- PointLightBase.cs
- WebBrowserPermission.cs
- ConfigUtil.cs
- ActivationServices.cs
- XmlSiteMapProvider.cs
- XmlDataLoader.cs
- WebCategoryAttribute.cs
- ServiceCredentials.cs
- Vector3DIndependentAnimationStorage.cs
- MetafileHeader.cs
- RemoveStoryboard.cs
- ProfileModule.cs
- sqlstateclientmanager.cs
- GridSplitter.cs
- WindowsListViewItem.cs
- OrderedDictionary.cs
- PixelFormat.cs
- GradientStop.cs
- TypePropertyEditor.cs
- ProfilePropertyNameValidator.cs
- SetterBase.cs
- AggregateException.cs
- SecurityElement.cs
- ConfigurationSettings.cs
- CodeArrayIndexerExpression.cs
- ServiceOperationParameter.cs
- dbenumerator.cs
- TextEditorDragDrop.cs
- GeneralTransform2DTo3D.cs
- CurrencyWrapper.cs
- WinEventTracker.cs
- MultipleViewProviderWrapper.cs
- SamlAction.cs
- NotFiniteNumberException.cs
- EventLogException.cs
- TypeTypeConverter.cs
- CompositeFontFamily.cs
- ButtonBaseAdapter.cs
- ListViewInsertedEventArgs.cs
- CompiledQuery.cs
- ApplicationGesture.cs
- HelpKeywordAttribute.cs
- HtmlTable.cs
- DelegateSerializationHolder.cs
- SystemException.cs
- PartialTrustValidationBehavior.cs
- OdbcConnectionFactory.cs
- TrackingServices.cs
- ActivityMarkupSerializer.cs
- SqlEnums.cs
- ExtractorMetadata.cs
- documentsequencetextcontainer.cs
- CodeEntryPointMethod.cs
- TrackingProfile.cs
- ToolStripDropDownClosedEventArgs.cs
- DesignerProperties.cs
- CodeAttributeArgument.cs
- HMACSHA256.cs
- nulltextnavigator.cs
- ZipIOExtraFieldPaddingElement.cs
- ADMembershipUser.cs
- StartUpEventArgs.cs
- HttpListenerRequestUriBuilder.cs
- QilScopedVisitor.cs
- DefaultAutoFieldGenerator.cs
- ClientEndpointLoader.cs
- CompressStream.cs
- AssemblyBuilder.cs
- DrawingContext.cs