Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- DirectoryNotFoundException.cs
- TypedTableBaseExtensions.cs
- EncoderBestFitFallback.cs
- RetriableClipboard.cs
- Pts.cs
- CodeMemberMethod.cs
- BrowserDefinition.cs
- WebPartCatalogCloseVerb.cs
- MissingManifestResourceException.cs
- FunctionOverloadResolver.cs
- StructureChangedEventArgs.cs
- AppliedDeviceFiltersEditor.cs
- FactoryMaker.cs
- SaveFileDialog.cs
- XmlSchemaValidationException.cs
- AstNode.cs
- HtmlWindowCollection.cs
- SignatureConfirmations.cs
- StructuralObject.cs
- RestHandler.cs
- RectValueSerializer.cs
- CryptoApi.cs
- GatewayDefinition.cs
- QuaternionConverter.cs
- UnsafeNativeMethods.cs
- Scanner.cs
- XmlSerializationGeneratedCode.cs
- BindingBase.cs
- ReflectTypeDescriptionProvider.cs
- Vector3DConverter.cs
- DoubleCollectionConverter.cs
- RemoteWebConfigurationHostServer.cs
- IApplicationTrustManager.cs
- ObjectQueryProvider.cs
- FormViewDeleteEventArgs.cs
- FixedSOMPageConstructor.cs
- AsyncContentLoadedEventArgs.cs
- TextRangeBase.cs
- IdentitySection.cs
- SqlDependencyListener.cs
- COM2FontConverter.cs
- Validator.cs
- Byte.cs
- TrustSection.cs
- IOThreadTimer.cs
- Slider.cs
- NavigationCommands.cs
- SharedPerformanceCounter.cs
- IsolationInterop.cs
- Codec.cs
- MessageAction.cs
- UInt32Converter.cs
- SqlConnectionHelper.cs
- HighContrastHelper.cs
- FrameworkContentElement.cs
- SparseMemoryStream.cs
- LineServices.cs
- ListenerConnectionDemuxer.cs
- FreeFormDragDropManager.cs
- XmlMembersMapping.cs
- SynchronizedDispatch.cs
- WebServiceMethodData.cs
- DoubleAnimationClockResource.cs
- SurrogateEncoder.cs
- NonBatchDirectoryCompiler.cs
- PointAnimation.cs
- TdsParserSessionPool.cs
- PerformanceCounter.cs
- NavigationWindowAutomationPeer.cs
- DiffuseMaterial.cs
- ColorConverter.cs
- SocketPermission.cs
- FlowchartDesigner.xaml.cs
- SpellerInterop.cs
- DynamicILGenerator.cs
- XamlBrushSerializer.cs
- PrivilegeNotHeldException.cs
- WebPartEditorApplyVerb.cs
- StylusShape.cs
- BooleanFunctions.cs
- CodeTypeMember.cs
- SmiRequestExecutor.cs
- HttpRuntime.cs
- ImagingCache.cs
- ScrollBar.cs
- WebBrowserSiteBase.cs
- CodePageUtils.cs
- Vector3dCollection.cs
- OdbcPermission.cs
- Effect.cs
- WriteStateInfoBase.cs
- GenericRootAutomationPeer.cs
- MailHeaderInfo.cs
- FilterEventArgs.cs
- IChannel.cs
- Pen.cs
- DataGridColumnHeadersPresenterAutomationPeer.cs
- ProxySimple.cs
- Psha1DerivedKeyGenerator.cs
- EnumUnknown.cs