Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / ndp / fx / src / DataEntity / System / Data / Map / ViewGeneration / Validation / KeyConstraint.cs / 1 / KeyConstraint.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] // @backupOwner [....] //--------------------------------------------------------------------- using System.Data.Common.Utils; using System.Collections.Generic; using System.Text; using System.Diagnostics; namespace System.Data.Mapping.ViewGeneration.Validation { // Class representing a key constraint for particular cellrelation internal class KeyConstraint: InternalBase where TCellRelation : CellRelation { #region Constructor // Constructs a key constraint for the given relation and keyslots // with comparer being the comparison operator for comparing various // keyslots in Implies, etc internal KeyConstraint(TCellRelation relation, IEnumerable keySlots, IEqualityComparer comparer) { m_relation = relation; m_keySlots = new Set (keySlots, comparer).MakeReadOnly(); Debug.Assert(m_keySlots.Count > 0, "Key constraint being created without any keyslots?"); } #endregion #region Fields private TCellRelation m_relation; private Set m_keySlots; #endregion #region Properties protected TCellRelation CellRelation { get { return m_relation; } } protected Set KeySlots { get { return m_keySlots;} } #endregion #region Methods internal override void ToCompactString(StringBuilder builder) { StringUtil.FormatStringBuilder(builder, "Key (V{0}) - ", m_relation.CellNumber); StringUtil.ToSeparatedStringSorted(builder, KeySlots, ", "); // The slots contain the name of the relation: So we skip // printing the CellRelation } #endregion } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //---------------------------------------------------------------------- // // Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] // @backupOwner [....] //--------------------------------------------------------------------- using System.Data.Common.Utils; using System.Collections.Generic; using System.Text; using System.Diagnostics; namespace System.Data.Mapping.ViewGeneration.Validation { // Class representing a key constraint for particular cellrelation internal class KeyConstraint: InternalBase where TCellRelation : CellRelation { #region Constructor // Constructs a key constraint for the given relation and keyslots // with comparer being the comparison operator for comparing various // keyslots in Implies, etc internal KeyConstraint(TCellRelation relation, IEnumerable keySlots, IEqualityComparer comparer) { m_relation = relation; m_keySlots = new Set (keySlots, comparer).MakeReadOnly(); Debug.Assert(m_keySlots.Count > 0, "Key constraint being created without any keyslots?"); } #endregion #region Fields private TCellRelation m_relation; private Set m_keySlots; #endregion #region Properties protected TCellRelation CellRelation { get { return m_relation; } } protected Set KeySlots { get { return m_keySlots;} } #endregion #region Methods internal override void ToCompactString(StringBuilder builder) { StringUtil.FormatStringBuilder(builder, "Key (V{0}) - ", m_relation.CellNumber); StringUtil.ToSeparatedStringSorted(builder, KeySlots, ", "); // The slots contain the name of the relation: So we skip // printing the CellRelation } #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
- XmlJsonReader.cs
- JsonWriterDelegator.cs
- BaseTemplateParser.cs
- Directory.cs
- GridPattern.cs
- InitializingNewItemEventArgs.cs
- LoadGrammarCompletedEventArgs.cs
- InstancePersistenceContext.cs
- SchemaNames.cs
- TextTreeExtractElementUndoUnit.cs
- Screen.cs
- ImageCodecInfo.cs
- ArgIterator.cs
- ProfilePropertySettingsCollection.cs
- SequentialOutput.cs
- PlaceHolder.cs
- RegexTypeEditor.cs
- WebRequestModulesSection.cs
- TextEditorCharacters.cs
- EdgeModeValidation.cs
- TreeChangeInfo.cs
- TemporaryBitmapFile.cs
- PrimitiveCodeDomSerializer.cs
- TempFiles.cs
- InternalBufferOverflowException.cs
- FixedDocumentSequencePaginator.cs
- AutomationPeer.cs
- XmlObjectSerializerWriteContextComplexJson.cs
- EmptyReadOnlyDictionaryInternal.cs
- SHA512Managed.cs
- CallbackHandler.cs
- ObjectKeyFrameCollection.cs
- XmlSchemaAnyAttribute.cs
- TableDesigner.cs
- keycontainerpermission.cs
- XmlEntity.cs
- NonSerializedAttribute.cs
- ErrorsHelper.cs
- TabRenderer.cs
- DataObjectEventArgs.cs
- ComplusEndpointConfigContainer.cs
- AssemblyBuilder.cs
- InboundActivityHelper.cs
- TableAutomationPeer.cs
- PropertySegmentSerializer.cs
- ErrorWebPart.cs
- SupportingTokenSpecification.cs
- FileSystemWatcher.cs
- MultiTouchSystemGestureLogic.cs
- TransactionScope.cs
- ProcessModelSection.cs
- AsymmetricKeyExchangeFormatter.cs
- CodeDomComponentSerializationService.cs
- CompressEmulationStream.cs
- ExpandableObjectConverter.cs
- JapaneseCalendar.cs
- VBCodeProvider.cs
- CalculatedColumn.cs
- ProfileManager.cs
- SqlParameterizer.cs
- LineSegment.cs
- AudioException.cs
- Types.cs
- BrowserTree.cs
- Timeline.cs
- ErrorTableItemStyle.cs
- SlotInfo.cs
- _AutoWebProxyScriptEngine.cs
- PrimarySelectionGlyph.cs
- SqlGenericUtil.cs
- EntityClassGenerator.cs
- EventLogWatcher.cs
- ColumnMapVisitor.cs
- RegexFCD.cs
- TextPenaltyModule.cs
- DataService.cs
- HMACSHA512.cs
- XmlSchemaExternal.cs
- GatewayIPAddressInformationCollection.cs
- SqlCommandBuilder.cs
- EntityDataSourceQueryBuilder.cs
- Descriptor.cs
- HttpFileCollection.cs
- KeyPressEvent.cs
- TypeEnumerableViewSchema.cs
- TimeSpanSecondsOrInfiniteConverter.cs
- PrincipalPermission.cs
- ServicePointManager.cs
- WeakReadOnlyCollection.cs
- MULTI_QI.cs
- MailSettingsSection.cs
- ProxyHelper.cs
- SpellerStatusTable.cs
- XmlSchemaObjectTable.cs
- FileStream.cs
- LightweightEntityWrapper.cs
- SchemaComplexType.cs
- ToolStripComboBox.cs
- BitHelper.cs
- DelayedRegex.cs