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
- CompositeDesignerAccessibleObject.cs
- Console.cs
- LineServicesRun.cs
- SqlDataSourceCommandEventArgs.cs
- ZipArchive.cs
- CatalogPartCollection.cs
- BooleanProjectedSlot.cs
- FullTextLine.cs
- TypeUnloadedException.cs
- PipelineDeploymentState.cs
- SizeIndependentAnimationStorage.cs
- AsyncCompletedEventArgs.cs
- DataObjectCopyingEventArgs.cs
- XmlStringTable.cs
- Comparer.cs
- ServerProtocol.cs
- WebSysDescriptionAttribute.cs
- ApplicationServiceHelper.cs
- MSHTMLHost.cs
- AuthenticationSchemesHelper.cs
- CheckableControlBaseAdapter.cs
- AppSettingsReader.cs
- Mapping.cs
- MailHeaderInfo.cs
- RawStylusSystemGestureInputReport.cs
- ForeignKeyConstraint.cs
- ControlBuilderAttribute.cs
- CodeAttributeArgument.cs
- CustomAttributeBuilder.cs
- DiscoveryClientChannelFactory.cs
- ProtocolsSection.cs
- ReflectionServiceProvider.cs
- IisTraceWebEventProvider.cs
- ViewLoader.cs
- BamlRecordReader.cs
- WaitForChangedResult.cs
- Internal.cs
- CellIdBoolean.cs
- JournalEntryListConverter.cs
- XmlCharacterData.cs
- SqlDataSourceView.cs
- Selection.cs
- WebPartConnectionsConfigureVerb.cs
- ManifestResourceInfo.cs
- ApplicationActivator.cs
- XamlInt32CollectionSerializer.cs
- UrlMappingCollection.cs
- StrokeIntersection.cs
- MemberAccessException.cs
- ExecutedRoutedEventArgs.cs
- sitestring.cs
- ListViewDeleteEventArgs.cs
- HashCodeCombiner.cs
- NCryptSafeHandles.cs
- CancellationHandler.cs
- AutomationProperties.cs
- ScrollEventArgs.cs
- HighContrastHelper.cs
- FileUpload.cs
- CompilerGeneratedAttribute.cs
- PolicyValidator.cs
- HttpModuleCollection.cs
- OleDbParameter.cs
- LogEntryHeaderSerializer.cs
- SqlDataSourceStatusEventArgs.cs
- DataColumnMapping.cs
- DurableTimerExtension.cs
- HeaderPanel.cs
- HandlerElementCollection.cs
- ErrorLog.cs
- DefinitionBase.cs
- XpsS0ValidatingLoader.cs
- RandomNumberGenerator.cs
- HwndSubclass.cs
- SelfSignedCertificate.cs
- X500Name.cs
- MailWebEventProvider.cs
- _IPv6Address.cs
- LabelLiteral.cs
- ControlPropertyNameConverter.cs
- newitemfactory.cs
- RowToFieldTransformer.cs
- Argument.cs
- SqlMethodTransformer.cs
- HitTestParameters3D.cs
- ContainerControl.cs
- EntityDataSourceMemberPath.cs
- DataGridGeneralPage.cs
- RectValueSerializer.cs
- DataBindingHandlerAttribute.cs
- CellTreeNode.cs
- Shape.cs
- ObjectDataSourceSelectingEventArgs.cs
- TextDecorationCollectionConverter.cs
- TCEAdapterGenerator.cs
- CodeIdentifier.cs
- VolatileEnlistmentMultiplexing.cs
- ValidatedControlConverter.cs
- DispatchWrapper.cs
- _OSSOCK.cs