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
- XmlAttribute.cs
- ReadOnlyPropertyMetadata.cs
- BaseDataList.cs
- DbConvert.cs
- ResourceContainerWrapper.cs
- RegexReplacement.cs
- ServiceObjectContainer.cs
- GPPOINTF.cs
- BamlTreeUpdater.cs
- MetadataItem.cs
- URLIdentityPermission.cs
- TypeInitializationException.cs
- AssociatedControlConverter.cs
- AssemblyCollection.cs
- _DomainName.cs
- TypeToArgumentTypeConverter.cs
- WorkflowControlClient.cs
- CoTaskMemSafeHandle.cs
- CustomError.cs
- ObjectContext.cs
- SlotInfo.cs
- FieldTemplateUserControl.cs
- Misc.cs
- DrawingContextDrawingContextWalker.cs
- FormClosingEvent.cs
- DataTableCollection.cs
- SafeNativeMethodsOther.cs
- NameTable.cs
- X509SubjectKeyIdentifierClause.cs
- EventLogTraceListener.cs
- CultureInfoConverter.cs
- UxThemeWrapper.cs
- GlobalItem.cs
- ImmComposition.cs
- ListViewDataItem.cs
- DescendantQuery.cs
- ActivityTypeDesigner.xaml.cs
- CheckBoxFlatAdapter.cs
- DataGridViewRowHeightInfoNeededEventArgs.cs
- DecimalMinMaxAggregationOperator.cs
- ImpersonateTokenRef.cs
- ResXBuildProvider.cs
- MenuItemCollection.cs
- SessionEndingEventArgs.cs
- HostedTcpTransportManager.cs
- ListItemCollection.cs
- AsyncPostBackTrigger.cs
- SelectionWordBreaker.cs
- ListViewUpdatedEventArgs.cs
- AnnotationDocumentPaginator.cs
- exports.cs
- BuildManager.cs
- HttpBindingExtension.cs
- UseAttributeSetsAction.cs
- ToolStripStatusLabel.cs
- ProtocolImporter.cs
- EpmCustomContentWriterNodeData.cs
- SignatureDescription.cs
- JoinTreeSlot.cs
- RedistVersionInfo.cs
- HtmlTableRowCollection.cs
- ApplicationSecurityInfo.cs
- TripleDESCryptoServiceProvider.cs
- DataGridViewCheckBoxColumn.cs
- ValidationSummary.cs
- DecoderFallback.cs
- SiteMapNode.cs
- TdsParserSessionPool.cs
- XmlBinaryReaderSession.cs
- ContentPresenter.cs
- AccessDataSource.cs
- HtmlContainerControl.cs
- PartManifestEntry.cs
- SynchronizationContext.cs
- TreeView.cs
- XamlFigureLengthSerializer.cs
- MarkupCompiler.cs
- XmlWellformedWriter.cs
- TreeViewHitTestInfo.cs
- ReversePositionQuery.cs
- RemotingServices.cs
- ViewBase.cs
- RequestNavigateEventArgs.cs
- DbReferenceCollection.cs
- WebAdminConfigurationHelper.cs
- ProtocolsConfiguration.cs
- SafeNativeMethods.cs
- DataPointer.cs
- MissingManifestResourceException.cs
- SqlDataReaderSmi.cs
- ScriptResourceMapping.cs
- ParserExtension.cs
- TdsEnums.cs
- SqlWriter.cs
- RestHandlerFactory.cs
- WorkflowServiceAttributes.cs
- XmlDocumentSerializer.cs
- ScaleTransform.cs
- RegisteredHiddenField.cs
- DependencyPropertyChangedEventArgs.cs