Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataEntity / System / Data / Map / ViewGeneration / Validation / KeyConstraint.cs / 1305376 / 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
- FixedDSBuilder.cs
- InheritanceContextHelper.cs
- SchemaNamespaceManager.cs
- ConstrainedDataObject.cs
- Interlocked.cs
- HierarchicalDataBoundControlAdapter.cs
- DirectionalLight.cs
- ControlParameter.cs
- ToolStripSettings.cs
- MetadataUtilsSmi.cs
- TextEncodedRawTextWriter.cs
- EntityDataSource.cs
- ConnectionsZone.cs
- Mapping.cs
- ProviderSettingsCollection.cs
- OutOfProcStateClientManager.cs
- ColumnResult.cs
- AQNBuilder.cs
- XmlDomTextWriter.cs
- HtmlTableCell.cs
- EventItfInfo.cs
- XmlResolver.cs
- UriTemplateMatch.cs
- TextEditorSelection.cs
- RouteParser.cs
- ExtensionCollection.cs
- IERequestCache.cs
- EncryptedHeader.cs
- PseudoWebRequest.cs
- XmlReaderDelegator.cs
- CompensatableTransactionScopeActivityDesigner.cs
- StoreContentChangedEventArgs.cs
- TypedTableBase.cs
- ThemeDictionaryExtension.cs
- BitmapImage.cs
- GridViewRow.cs
- FormParameter.cs
- TextRangeAdaptor.cs
- TimeIntervalCollection.cs
- Italic.cs
- CompiledQuery.cs
- PageRouteHandler.cs
- XmlDataLoader.cs
- StatusBar.cs
- GroupBoxRenderer.cs
- CqlBlock.cs
- Membership.cs
- Page.cs
- TypeConverterHelper.cs
- ChunkedMemoryStream.cs
- ListViewHitTestInfo.cs
- CapabilitiesUse.cs
- CDSsyncETWBCLProvider.cs
- ScaleTransform.cs
- CompilerCollection.cs
- DefaultMemberAttribute.cs
- AutomationIdentifierGuids.cs
- TextLineBreak.cs
- RemotingSurrogateSelector.cs
- ProcessProtocolHandler.cs
- BindUriHelper.cs
- MetadataItemEmitter.cs
- DragDropHelper.cs
- ScrollPattern.cs
- CombinedGeometry.cs
- Hyperlink.cs
- SamlAuthorizationDecisionClaimResource.cs
- XPathNavigatorReader.cs
- XmlSerializationGeneratedCode.cs
- SecureStringHasher.cs
- MultiView.cs
- SelectionEditor.cs
- LoginNameDesigner.cs
- DataShape.cs
- BindingOperations.cs
- COM2FontConverter.cs
- TypeSystemHelpers.cs
- WebConvert.cs
- ExeContext.cs
- SafeThreadHandle.cs
- VersionUtil.cs
- WebPartEditorCancelVerb.cs
- PropertyChangeTracker.cs
- TypeDescriptionProvider.cs
- BuildProviderAppliesToAttribute.cs
- ExecutionEngineException.cs
- tabpagecollectioneditor.cs
- PanelStyle.cs
- URLMembershipCondition.cs
- HashMembershipCondition.cs
- RouteItem.cs
- CharacterMetricsDictionary.cs
- XmlAttribute.cs
- MarkupProperty.cs
- ResourceDictionaryCollection.cs
- UnsignedPublishLicense.cs
- _IPv6Address.cs
- XmlToDatasetMap.cs
- HostingEnvironmentException.cs
- PresentationSource.cs