Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- TraceSwitch.cs
- PackUriHelper.cs
- EmbeddedMailObject.cs
- TreeNode.cs
- BitmapSourceSafeMILHandle.cs
- NativeCppClassAttribute.cs
- Math.cs
- BitConverter.cs
- Process.cs
- LineServices.cs
- ColumnMapProcessor.cs
- ClientSettings.cs
- Stroke2.cs
- SqlConnectionHelper.cs
- CodeAccessSecurityEngine.cs
- MetadataUtilsSmi.cs
- _IPv4Address.cs
- SliderAutomationPeer.cs
- HyperLinkField.cs
- EncryptedKey.cs
- AsyncOperationContext.cs
- ConstraintConverter.cs
- ImageField.cs
- SpecialNameAttribute.cs
- SafeSystemMetrics.cs
- GetWinFXPath.cs
- PtsPage.cs
- NamedElement.cs
- NativeMethods.cs
- HtmlImage.cs
- GenericPrincipal.cs
- PropertyConverter.cs
- BasePropertyDescriptor.cs
- MapPathBasedVirtualPathProvider.cs
- WaitForChangedResult.cs
- ExtractorMetadata.cs
- HtmlContainerControl.cs
- FamilyTypeface.cs
- ResourceSetExpression.cs
- DbConnectionHelper.cs
- ServicesUtilities.cs
- ScriptingWebServicesSectionGroup.cs
- ToolStripMenuItemCodeDomSerializer.cs
- PermissionToken.cs
- QilTernary.cs
- KeyGestureValueSerializer.cs
- MimeTypeMapper.cs
- Overlapped.cs
- NavigationPropertyAccessor.cs
- PKCS1MaskGenerationMethod.cs
- RectangleConverter.cs
- WebPartEditorApplyVerb.cs
- RemotingAttributes.cs
- SqlStream.cs
- InertiaRotationBehavior.cs
- WebBrowsableAttribute.cs
- ListControlConvertEventArgs.cs
- ContextMenu.cs
- DatagridviewDisplayedBandsData.cs
- Stream.cs
- SizeConverter.cs
- ControlType.cs
- ToolStripProgressBar.cs
- XmlKeywords.cs
- FocusManager.cs
- Soap.cs
- DataTableTypeConverter.cs
- SchemaLookupTable.cs
- WebPartConnectionsDisconnectVerb.cs
- PersianCalendar.cs
- AsymmetricSignatureFormatter.cs
- SinglePhaseEnlistment.cs
- UrlMappingCollection.cs
- TransformerTypeCollection.cs
- GridViewItemAutomationPeer.cs
- FileNotFoundException.cs
- ExpressionBinding.cs
- ResolveMatchesApril2005.cs
- NameNode.cs
- PreApplicationStartMethodAttribute.cs
- TableRowsCollectionEditor.cs
- LinkedResource.cs
- ObjectMaterializedEventArgs.cs
- HandlerWithFactory.cs
- LockedActivityGlyph.cs
- LinkedDataMemberFieldEditor.cs
- OverflowException.cs
- AliasedSlot.cs
- XmlAttributeAttribute.cs
- MimeReflector.cs
- PanelDesigner.cs
- RawStylusSystemGestureInputReport.cs
- Image.cs
- TextLineBreak.cs
- DialogResultConverter.cs
- CompilerParameters.cs
- GregorianCalendarHelper.cs
- AssemblyUtil.cs
- ChtmlImageAdapter.cs
- ControlTemplate.cs