Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / 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
- CallbackHandler.cs
- DataContractSerializerOperationFormatter.cs
- InitializingNewItemEventArgs.cs
- NeedSkipTokenVisitor.cs
- ProjectionCamera.cs
- HtmlFormAdapter.cs
- AsyncOperationManager.cs
- TextTreeDeleteContentUndoUnit.cs
- CngKey.cs
- DrawingVisualDrawingContext.cs
- Material.cs
- DoubleStorage.cs
- DeflateEmulationStream.cs
- BaseParagraph.cs
- EasingQuaternionKeyFrame.cs
- ResXResourceSet.cs
- Color.cs
- InputScope.cs
- EntityTypeEmitter.cs
- ApplicationServiceHelper.cs
- XmlSchemaSequence.cs
- RectConverter.cs
- PrimaryKeyTypeConverter.cs
- EditorZone.cs
- ColorConvertedBitmapExtension.cs
- SimpleTypesSurrogate.cs
- CodeDelegateInvokeExpression.cs
- WebServiceMethodData.cs
- BaseParser.cs
- EventDescriptor.cs
- Range.cs
- AttachedPropertyMethodSelector.cs
- SafeTimerHandle.cs
- MediaPlayerState.cs
- SimpleBitVector32.cs
- BindableAttribute.cs
- InputElement.cs
- EmptyStringExpandableObjectConverter.cs
- SByteStorage.cs
- SortKey.cs
- ImplicitInputBrush.cs
- Merger.cs
- EncoderParameters.cs
- XmlBaseWriter.cs
- ActivationProxy.cs
- LowerCaseStringConverter.cs
- CapabilitiesAssignment.cs
- SectionXmlInfo.cs
- ListenerElementsCollection.cs
- WorkflowOperationInvoker.cs
- SqlTypesSchemaImporter.cs
- IsolatedStorage.cs
- PasswordTextContainer.cs
- ProcessRequestArgs.cs
- PackageFilter.cs
- OletxCommittableTransaction.cs
- XmlWellformedWriterHelpers.cs
- DeferrableContentConverter.cs
- TextParagraphView.cs
- ToolStripItemCollection.cs
- EntityDesignerDataSourceView.cs
- QilGenerator.cs
- CustomErrorsSection.cs
- CustomWebEventKey.cs
- CodeCompiler.cs
- StrongNameKeyPair.cs
- CodeBlockBuilder.cs
- XmlLoader.cs
- UrlMapping.cs
- InfoCardRSAPKCS1SignatureFormatter.cs
- OpenTypeLayout.cs
- PeerConnector.cs
- CodeChecksumPragma.cs
- FileUtil.cs
- ClientBuildManager.cs
- PermissionSet.cs
- MappingMetadataHelper.cs
- CodePrimitiveExpression.cs
- _ListenerResponseStream.cs
- WindowsSpinner.cs
- embossbitmapeffect.cs
- StrongNamePublicKeyBlob.cs
- WebConfigurationHost.cs
- HitTestDrawingContextWalker.cs
- COAUTHINFO.cs
- ProfileService.cs
- WebEventCodes.cs
- ButtonStandardAdapter.cs
- MeasureData.cs
- ObjectStateFormatter.cs
- KeyPullup.cs
- EntitySqlQueryState.cs
- PropertyPushdownHelper.cs
- LoginName.cs
- FocusChangedEventArgs.cs
- D3DImage.cs
- HelpKeywordAttribute.cs
- ProcessActivityTreeOptions.cs
- RIPEMD160.cs
- PeerCollaborationPermission.cs