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 / ViewGeneration / Validation / BasicKeyConstraint.cs / 1 / BasicKeyConstraint.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] // @backupOwner [....] //--------------------------------------------------------------------- using System.Data.Mapping.ViewGeneration.Structures; using System.Collections.Generic; namespace System.Data.Mapping.ViewGeneration.Validation { using BasicSchemaConstraints = SchemaConstraints; // Class representing a key constraint on the basic cell relations internal class BasicKeyConstraint : KeyConstraint { #region Constructor // Constructs a key constraint for the given relation and keyslots internal BasicKeyConstraint(BasicCellRelation relation, IEnumerable keySlots) : base(relation, keySlots, JoinTreeSlot.SpecificEqualityComparer) { } #endregion #region Methods // effects: Propagates this constraint from the basic cell relation // to the corresponding view cell relation and returns the new constraint // If all the key slots are not being projected, returns null internal ViewKeyConstraint Propagate() { ViewCellRelation viewCellRelation = CellRelation.ViewCellRelation; // If all slots appear in the projection, propagate key constraint List viewSlots = new List (); foreach (JoinTreeSlot keySlot in KeySlots) { ViewCellSlot viewCellSlot = viewCellRelation.LookupViewSlot(keySlot); if (viewCellSlot == null) { // Slot is missing -- no key constraint on the view relation return null; } viewSlots.Add(viewCellSlot); } // Create a key on view relation ViewKeyConstraint viewKeyConstraint = new ViewKeyConstraint(viewCellRelation, viewSlots); return viewKeyConstraint; } #endregion } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //---------------------------------------------------------------------- // // Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] // @backupOwner [....] //--------------------------------------------------------------------- using System.Data.Mapping.ViewGeneration.Structures; using System.Collections.Generic; namespace System.Data.Mapping.ViewGeneration.Validation { using BasicSchemaConstraints = SchemaConstraints; // Class representing a key constraint on the basic cell relations internal class BasicKeyConstraint : KeyConstraint { #region Constructor // Constructs a key constraint for the given relation and keyslots internal BasicKeyConstraint(BasicCellRelation relation, IEnumerable keySlots) : base(relation, keySlots, JoinTreeSlot.SpecificEqualityComparer) { } #endregion #region Methods // effects: Propagates this constraint from the basic cell relation // to the corresponding view cell relation and returns the new constraint // If all the key slots are not being projected, returns null internal ViewKeyConstraint Propagate() { ViewCellRelation viewCellRelation = CellRelation.ViewCellRelation; // If all slots appear in the projection, propagate key constraint List viewSlots = new List (); foreach (JoinTreeSlot keySlot in KeySlots) { ViewCellSlot viewCellSlot = viewCellRelation.LookupViewSlot(keySlot); if (viewCellSlot == null) { // Slot is missing -- no key constraint on the view relation return null; } viewSlots.Add(viewCellSlot); } // Create a key on view relation ViewKeyConstraint viewKeyConstraint = new ViewKeyConstraint(viewCellRelation, viewSlots); return viewKeyConstraint; } #endregion } } // 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
- ParameterCollection.cs
- WindowProviderWrapper.cs
- AlternationConverter.cs
- ConfigsHelper.cs
- XmlDocumentSurrogate.cs
- BitmapImage.cs
- TypeLoadException.cs
- datacache.cs
- CallbackValidator.cs
- PermissionToken.cs
- ContextMenuAutomationPeer.cs
- ReadOnlyDataSource.cs
- RoutedEvent.cs
- ItemsControlAutomationPeer.cs
- Constants.cs
- TargetException.cs
- RenderContext.cs
- DesigntimeLicenseContext.cs
- MessageCredentialType.cs
- SmuggledIUnknown.cs
- ForEachAction.cs
- StringUtil.cs
- BasicDesignerLoader.cs
- RoutedEventValueSerializer.cs
- LabelTarget.cs
- XmlSchemaType.cs
- XMLDiffLoader.cs
- WindowsAuthenticationModule.cs
- ControlEvent.cs
- MultipartIdentifier.cs
- PixelFormats.cs
- ConnectionsZoneDesigner.cs
- CompilationRelaxations.cs
- TableLayoutRowStyleCollection.cs
- ClientData.cs
- ObjectResult.cs
- XmlSerializationReader.cs
- AdjustableArrowCap.cs
- BindingCollection.cs
- PenContexts.cs
- WebServiceHostFactory.cs
- TextFormattingConverter.cs
- XpsPackagingException.cs
- StorageMappingItemLoader.cs
- DbDataAdapter.cs
- MultiByteCodec.cs
- ProjectionCamera.cs
- TextParentUndoUnit.cs
- TextBlock.cs
- XmlLanguageConverter.cs
- ClientConfigPaths.cs
- MimeAnyImporter.cs
- Matrix3DConverter.cs
- HuffmanTree.cs
- WebBrowserPermission.cs
- HScrollProperties.cs
- Win32Native.cs
- HtmlInputImage.cs
- ToolStripRenderer.cs
- HttpModuleCollection.cs
- XamlUtilities.cs
- ForeignKeyConstraint.cs
- ElementNotAvailableException.cs
- Part.cs
- CodeIterationStatement.cs
- CodeChecksumPragma.cs
- MdImport.cs
- Configuration.cs
- PowerStatus.cs
- SqlInternalConnectionSmi.cs
- DataSourceControl.cs
- ImplicitInputBrush.cs
- OraclePermissionAttribute.cs
- ToolTipService.cs
- FileReservationCollection.cs
- EncoderParameter.cs
- GeometryCombineModeValidation.cs
- RegionIterator.cs
- ConnectionPoolManager.cs
- XmlCollation.cs
- PropertyTab.cs
- PropertyIDSet.cs
- PrintingPermission.cs
- DataGridCheckBoxColumn.cs
- ToolboxComponentsCreatingEventArgs.cs
- RadioButtonAutomationPeer.cs
- IpcChannel.cs
- EntityKey.cs
- EventSchemaTraceListener.cs
- FileUpload.cs
- WebPartRestoreVerb.cs
- ExpressionBinding.cs
- DataGridViewTextBoxEditingControl.cs
- WorkflowNamespace.cs
- SoapSchemaMember.cs
- SerializationTrace.cs
- BezierSegment.cs
- WebPartConnectionsCancelVerb.cs
- Suspend.cs
- EditorBrowsableAttribute.cs