Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / 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
- InternalsVisibleToAttribute.cs
- WizardStepBase.cs
- ParentQuery.cs
- _LocalDataStore.cs
- Point3DCollectionValueSerializer.cs
- StyleTypedPropertyAttribute.cs
- IconConverter.cs
- NonVisualControlAttribute.cs
- PersonalizationDictionary.cs
- CriticalExceptions.cs
- CLRBindingWorker.cs
- AvTraceFormat.cs
- SoapSchemaMember.cs
- StoreAnnotationsMap.cs
- HttpConfigurationContext.cs
- SwitchLevelAttribute.cs
- DebugController.cs
- InvalidOperationException.cs
- UnsafeNativeMethodsPenimc.cs
- LoginCancelEventArgs.cs
- DeviceContext2.cs
- CopyAttributesAction.cs
- Activity.cs
- EntityContainer.cs
- HtmlGenericControl.cs
- WhitespaceRule.cs
- SqlLiftIndependentRowExpressions.cs
- LicenseProviderAttribute.cs
- XmlRawWriterWrapper.cs
- OdbcStatementHandle.cs
- WebServiceHandlerFactory.cs
- ImageDrawing.cs
- bidPrivateBase.cs
- SoapFault.cs
- ServiceHttpModule.cs
- DocumentViewerConstants.cs
- XmlSchemaCompilationSettings.cs
- ContentOperations.cs
- CompressedStack.cs
- RegexCompiler.cs
- ObjectDataSourceDisposingEventArgs.cs
- BamlLocalizableResourceKey.cs
- DataGridCellInfo.cs
- SequenceDesignerAccessibleObject.cs
- Parser.cs
- WorkflowInstanceTerminatedRecord.cs
- XPathSingletonIterator.cs
- TemplateDefinition.cs
- SiteMapNodeCollection.cs
- SimpleHandlerFactory.cs
- AudioFileOut.cs
- NonSerializedAttribute.cs
- DocComment.cs
- Matrix.cs
- HtmlInputHidden.cs
- Logging.cs
- ObjectManager.cs
- KeySplineConverter.cs
- ObjectListShowCommandsEventArgs.cs
- WebCategoryAttribute.cs
- WorkflowServiceNamespace.cs
- MenuEventArgs.cs
- ResourceLoader.cs
- DatePicker.cs
- FormsAuthenticationUser.cs
- LineVisual.cs
- ObjectDataSourceDisposingEventArgs.cs
- SymbolPair.cs
- QilXmlReader.cs
- Command.cs
- MemberHolder.cs
- InstancePersistenceCommandException.cs
- OrderedDictionaryStateHelper.cs
- ValidationSummary.cs
- RoutedEventHandlerInfo.cs
- JavaScriptString.cs
- UIElementParaClient.cs
- MaterialGroup.cs
- RedirectionProxy.cs
- LineGeometry.cs
- RelatedCurrencyManager.cs
- QfeChecker.cs
- ToolStripSplitStackLayout.cs
- BaseParagraph.cs
- LinearGradientBrush.cs
- HostedElements.cs
- DefaultValueAttribute.cs
- PostBackTrigger.cs
- XmlSerializationWriter.cs
- AccessControlList.cs
- httpapplicationstate.cs
- WindowsAltTab.cs
- MethodBody.cs
- QueryStringHandler.cs
- ConfigurationLocationCollection.cs
- StrongNameHelpers.cs
- UTF7Encoding.cs
- QueryContinueDragEventArgs.cs
- DataGridRowHeader.cs
- DesignerOptionService.cs