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
- QualifierSet.cs
- TemplateBindingExpressionConverter.cs
- DataObjectPastingEventArgs.cs
- ItemType.cs
- TraceHandlerErrorFormatter.cs
- SynchronizationLockException.cs
- X509RecipientCertificateServiceElement.cs
- CounterCreationData.cs
- SignatureResourcePool.cs
- MSHTMLHostUtil.cs
- DropShadowBitmapEffect.cs
- XPathQilFactory.cs
- WebConfigManager.cs
- SmtpFailedRecipientException.cs
- Point4D.cs
- ChangeBlockUndoRecord.cs
- WebBrowserHelper.cs
- GeometryDrawing.cs
- XmlSchemaAppInfo.cs
- brushes.cs
- ItemType.cs
- coordinator.cs
- DataSourceProvider.cs
- FlowDocumentPaginator.cs
- ObjRef.cs
- FrameworkElementFactory.cs
- StreamReader.cs
- MultiBindingExpression.cs
- MdiWindowListStrip.cs
- TagMapCollection.cs
- RunWorkerCompletedEventArgs.cs
- TailCallAnalyzer.cs
- WpfPayload.cs
- MouseBinding.cs
- ApplyImportsAction.cs
- OAVariantLib.cs
- XslTransformFileEditor.cs
- ScrollItemProviderWrapper.cs
- FontCacheLogic.cs
- MediaTimeline.cs
- ZoneButton.cs
- Point3DConverter.cs
- MouseEventArgs.cs
- QilList.cs
- RightsManagementInformation.cs
- ListViewItem.cs
- ExtenderProviderService.cs
- PermissionToken.cs
- Matrix.cs
- BoolExpressionVisitors.cs
- AgileSafeNativeMemoryHandle.cs
- EditorZoneBase.cs
- ManipulationDevice.cs
- ActivityBindForm.cs
- CodeLinePragma.cs
- LocalIdKeyIdentifierClause.cs
- ToolboxCategory.cs
- PropertyManager.cs
- TcpActivation.cs
- PropertyDescriptorCollection.cs
- ZipIOExtraFieldZip64Element.cs
- PropertyEmitter.cs
- ManagedIStream.cs
- X509ChainElement.cs
- QueryResponse.cs
- SqlDataSourceStatusEventArgs.cs
- ContractTypeNameCollection.cs
- FieldToken.cs
- RMPermissions.cs
- UnsafeNativeMethodsMilCoreApi.cs
- PeerCollaborationPermission.cs
- Behavior.cs
- TypeDescriptionProviderAttribute.cs
- SecurityElement.cs
- HierarchicalDataBoundControlAdapter.cs
- ModelUIElement3D.cs
- Stack.cs
- ApplicationProxyInternal.cs
- Msec.cs
- DesignerProperties.cs
- DataGridTextBox.cs
- Configuration.cs
- ColorTranslator.cs
- Messages.cs
- BinHexEncoding.cs
- RepeatBehavior.cs
- ConfigurationSettings.cs
- OperatorExpressions.cs
- DocumentCollection.cs
- WindowsImpersonationContext.cs
- TextFormatterContext.cs
- HwndStylusInputProvider.cs
- HwndHost.cs
- WindowsGraphicsWrapper.cs
- OutputCacheModule.cs
- RemotingSurrogateSelector.cs
- Privilege.cs
- ControlBuilder.cs
- ObjectStateEntryBaseUpdatableDataRecord.cs
- InfocardClientCredentials.cs