Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- XmlChildEnumerator.cs
- DataGridViewButtonColumn.cs
- AddingNewEventArgs.cs
- SortDescriptionCollection.cs
- ParserContext.cs
- XmlSchemaSimpleContent.cs
- Currency.cs
- UnsafeNativeMethods.cs
- MediaElementAutomationPeer.cs
- Soap12ProtocolReflector.cs
- CutCopyPasteHelper.cs
- EnterpriseServicesHelper.cs
- WebResponse.cs
- DeflateStreamAsyncResult.cs
- OdbcInfoMessageEvent.cs
- XmlDocumentType.cs
- SmtpDigestAuthenticationModule.cs
- DefaultPrintController.cs
- ProtocolsConfiguration.cs
- ComplexPropertyEntry.cs
- PreloadedPackages.cs
- DependencyStoreSurrogate.cs
- Expander.cs
- GlyphTypeface.cs
- ObjectDisposedException.cs
- _ProxyRegBlob.cs
- NegatedCellConstant.cs
- SpellerStatusTable.cs
- DependencyPropertyHelper.cs
- HtmlForm.cs
- ExtendedPropertiesHandler.cs
- InvalidEnumArgumentException.cs
- ExtendedProtectionPolicyTypeConverter.cs
- PenThread.cs
- SyndicationDeserializer.cs
- EventsTab.cs
- TextClipboardData.cs
- BinaryFormatterWriter.cs
- WpfGeneratedKnownTypes.cs
- Image.cs
- ActivityTypeResolver.xaml.cs
- UnsafeMethods.cs
- Point.cs
- DynamicPropertyHolder.cs
- ListViewAutomationPeer.cs
- LinqDataSourceSelectEventArgs.cs
- MonikerHelper.cs
- EnumerableCollectionView.cs
- TextHintingModeValidation.cs
- WebControl.cs
- XmlUrlResolver.cs
- EastAsianLunisolarCalendar.cs
- TextBoxBase.cs
- TypeDescriptionProviderAttribute.cs
- AttributeCollection.cs
- TextMarkerSource.cs
- Soap.cs
- TypeExtension.cs
- RouteCollection.cs
- SystemNetworkInterface.cs
- GlyphRunDrawing.cs
- Math.cs
- SmtpReplyReader.cs
- RecordManager.cs
- TypedElement.cs
- Sorting.cs
- PathGradientBrush.cs
- WinEventWrap.cs
- MonikerSyntaxException.cs
- CustomAttributeSerializer.cs
- RequiredFieldValidator.cs
- RestHandler.cs
- ChannelDispatcher.cs
- Converter.cs
- RegexParser.cs
- IncrementalCompileAnalyzer.cs
- SafeFileMapViewHandle.cs
- XsltQilFactory.cs
- AutomationPattern.cs
- TiffBitmapEncoder.cs
- WrappedIUnknown.cs
- EntityCommand.cs
- EmptyStringExpandableObjectConverter.cs
- ConstructorNeedsTagAttribute.cs
- InheritanceContextHelper.cs
- ByteAnimationBase.cs
- ServiceDeploymentInfo.cs
- SamlAuthorizationDecisionStatement.cs
- RotateTransform3D.cs
- HttpServerUtilityWrapper.cs
- Decoder.cs
- PropertyInformation.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- DATA_BLOB.cs
- ConsoleKeyInfo.cs
- DrawingBrush.cs
- TailPinnedEventArgs.cs
- StorageTypeMapping.cs
- LongPath.cs
- MediaEntryAttribute.cs