Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / ndp / fx / src / DataEntity / System / Data / Metadata / Edm / ReferentialConstraint.cs / 1 / ReferentialConstraint.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....], [....] //--------------------------------------------------------------------- using System.Collections.Generic; using System.Collections.ObjectModel; using System.Data.Common; namespace System.Data.Metadata.Edm { ////// This class describes referential constraint on the relationships /// public sealed class ReferentialConstraint : MetadataItem { #region Constructors ////// Constructs a new constraint on the relationship /// /// role from which the relationship originates /// role to which the relationship is linked/targeted to /// properties on entity type of from role which take part in the constraint /// properties on entity type of to role which take part in the constraint ///Argument Null exception if any of the arguments is null internal ReferentialConstraint(RelationshipEndMember fromRole, RelationshipEndMember toRole, IEnumerablefromProperties, IEnumerable toProperties) { _fromRole = EntityUtil.GenericCheckArgumentNull(fromRole, "fromRole"); _toRole = EntityUtil.GenericCheckArgumentNull(toRole, "toRole"); _fromProperties = new ReadOnlyMetadataCollection (new MetadataCollection ( EntityUtil.GenericCheckArgumentNull(fromProperties, "fromProperties"))); _toProperties = new ReadOnlyMetadataCollection (new MetadataCollection ( EntityUtil.GenericCheckArgumentNull(toProperties, "toProperties"))); } #endregion #region Fields private RelationshipEndMember _fromRole; private RelationshipEndMember _toRole; private readonly ReadOnlyMetadataCollection _fromProperties; private readonly ReadOnlyMetadataCollection _toProperties; #endregion #region Properties /// /// Returns the kind of the type /// public override BuiltInTypeKind BuiltInTypeKind { get { return BuiltInTypeKind.ReferentialConstraint; } } ////// Returns the identity for this constraint /// internal override string Identity { get { return this.FromRole.Name + "_" + this.ToRole.Name; } } ////// Returns the FromRole which takes part in this referential constraint /// ///Thrown if value passed into setter is null ///Thrown if the ReferentialConstraint instance is in ReadOnly state [MetadataProperty(BuiltInTypeKind.RelationshipEndMember, false)] public RelationshipEndMember FromRole { get { return _fromRole; } } ////// Returns the ToRole which takes part in this referential constraint /// ///Thrown if value passed into setter is null ///Thrown if the ReferentialConstraint instance is in ReadOnly state [MetadataProperty(BuiltInTypeKind.RelationshipEndMember, false)] public RelationshipEndMember ToRole { get { return _toRole; } } ////// Returns the collection of properties on the from role on which the constraint is defined on /// [MetadataProperty(BuiltInTypeKind.EdmProperty, true)] public ReadOnlyMetadataCollectionFromProperties { get { return _fromProperties; } } /// /// Returns the collection of properties on the ToRole on whose value the constraint is defined on /// [MetadataProperty(BuiltInTypeKind.EdmProperty, true)] public ReadOnlyMetadataCollectionToProperties { get { return _toProperties; } } #endregion #region Methods /// /// Overriding System.Object.ToString to provide better String representation /// ofr this type. /// public override string ToString() { return this.FromRole.Name + "_" + this.ToRole.Name; } ////// Sets this item to be readonly, once this is set, the item will never be writable again. /// internal override void SetReadOnly() { if (!IsReadOnly) { base.SetReadOnly(); RelationshipEndMember fromRole = FromRole; if (fromRole != null) { fromRole.SetReadOnly(); } RelationshipEndMember toRole = ToRole; if (toRole != null) { toRole.SetReadOnly(); } this.FromProperties.Source.SetReadOnly(); this.ToProperties.Source.SetReadOnly(); } } #endregion } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....], [....] //--------------------------------------------------------------------- using System.Collections.Generic; using System.Collections.ObjectModel; using System.Data.Common; namespace System.Data.Metadata.Edm { ////// This class describes referential constraint on the relationships /// public sealed class ReferentialConstraint : MetadataItem { #region Constructors ////// Constructs a new constraint on the relationship /// /// role from which the relationship originates /// role to which the relationship is linked/targeted to /// properties on entity type of from role which take part in the constraint /// properties on entity type of to role which take part in the constraint ///Argument Null exception if any of the arguments is null internal ReferentialConstraint(RelationshipEndMember fromRole, RelationshipEndMember toRole, IEnumerablefromProperties, IEnumerable toProperties) { _fromRole = EntityUtil.GenericCheckArgumentNull(fromRole, "fromRole"); _toRole = EntityUtil.GenericCheckArgumentNull(toRole, "toRole"); _fromProperties = new ReadOnlyMetadataCollection (new MetadataCollection ( EntityUtil.GenericCheckArgumentNull(fromProperties, "fromProperties"))); _toProperties = new ReadOnlyMetadataCollection (new MetadataCollection ( EntityUtil.GenericCheckArgumentNull(toProperties, "toProperties"))); } #endregion #region Fields private RelationshipEndMember _fromRole; private RelationshipEndMember _toRole; private readonly ReadOnlyMetadataCollection _fromProperties; private readonly ReadOnlyMetadataCollection _toProperties; #endregion #region Properties /// /// Returns the kind of the type /// public override BuiltInTypeKind BuiltInTypeKind { get { return BuiltInTypeKind.ReferentialConstraint; } } ////// Returns the identity for this constraint /// internal override string Identity { get { return this.FromRole.Name + "_" + this.ToRole.Name; } } ////// Returns the FromRole which takes part in this referential constraint /// ///Thrown if value passed into setter is null ///Thrown if the ReferentialConstraint instance is in ReadOnly state [MetadataProperty(BuiltInTypeKind.RelationshipEndMember, false)] public RelationshipEndMember FromRole { get { return _fromRole; } } ////// Returns the ToRole which takes part in this referential constraint /// ///Thrown if value passed into setter is null ///Thrown if the ReferentialConstraint instance is in ReadOnly state [MetadataProperty(BuiltInTypeKind.RelationshipEndMember, false)] public RelationshipEndMember ToRole { get { return _toRole; } } ////// Returns the collection of properties on the from role on which the constraint is defined on /// [MetadataProperty(BuiltInTypeKind.EdmProperty, true)] public ReadOnlyMetadataCollectionFromProperties { get { return _fromProperties; } } /// /// Returns the collection of properties on the ToRole on whose value the constraint is defined on /// [MetadataProperty(BuiltInTypeKind.EdmProperty, true)] public ReadOnlyMetadataCollectionToProperties { get { return _toProperties; } } #endregion #region Methods /// /// Overriding System.Object.ToString to provide better String representation /// ofr this type. /// public override string ToString() { return this.FromRole.Name + "_" + this.ToRole.Name; } ////// Sets this item to be readonly, once this is set, the item will never be writable again. /// internal override void SetReadOnly() { if (!IsReadOnly) { base.SetReadOnly(); RelationshipEndMember fromRole = FromRole; if (fromRole != null) { fromRole.SetReadOnly(); } RelationshipEndMember toRole = ToRole; if (toRole != null) { toRole.SetReadOnly(); } this.FromProperties.Source.SetReadOnly(); this.ToProperties.Source.SetReadOnly(); } } #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
- WebEvents.cs
- Effect.cs
- DateTimeStorage.cs
- DependencySource.cs
- MissingMethodException.cs
- ChannelHandler.cs
- MenuItemBinding.cs
- Rotation3D.cs
- PrimarySelectionGlyph.cs
- DtdParser.cs
- CodeTypeMember.cs
- CodeTryCatchFinallyStatement.cs
- TabControlCancelEvent.cs
- XmlDeclaration.cs
- PathSegmentCollection.cs
- _StreamFramer.cs
- SQLSingle.cs
- SqlReferenceCollection.cs
- Zone.cs
- ZipIOModeEnforcingStream.cs
- BaseProcessor.cs
- ProcessModelInfo.cs
- SqlMultiplexer.cs
- LicFileLicenseProvider.cs
- DBAsyncResult.cs
- mediapermission.cs
- TabItemWrapperAutomationPeer.cs
- JobInputBins.cs
- FtpWebRequest.cs
- WebReferencesBuildProvider.cs
- DirectoryRootQuery.cs
- DbConvert.cs
- LOSFormatter.cs
- ConfigurationSectionGroup.cs
- CompilationRelaxations.cs
- PersonalizableAttribute.cs
- ConfigurationValidatorBase.cs
- SafeCryptoHandles.cs
- XmlTextReaderImplHelpers.cs
- DirtyTextRange.cs
- InkCanvasSelectionAdorner.cs
- ClientApiGenerator.cs
- WindowsGrip.cs
- TextHidden.cs
- GridViewSortEventArgs.cs
- AuthenticationModuleElement.cs
- CryptoApi.cs
- BevelBitmapEffect.cs
- TreeView.cs
- EncoderNLS.cs
- Point3DCollection.cs
- InstanceCreationEditor.cs
- GregorianCalendarHelper.cs
- CodeNamespace.cs
- CompositionDesigner.cs
- XmlExpressionDumper.cs
- PrintEvent.cs
- PowerModeChangedEventArgs.cs
- SQLDateTimeStorage.cs
- SemaphoreSecurity.cs
- SqlNodeAnnotations.cs
- ErrorProvider.cs
- RichTextBox.cs
- FormClosedEvent.cs
- TextElement.cs
- PhoneCallDesigner.cs
- loginstatus.cs
- ToolStripSplitStackLayout.cs
- ReadOnlyPropertyMetadata.cs
- ContainerAction.cs
- _SslStream.cs
- XmlSignatureManifest.cs
- TrackingProfileDeserializationException.cs
- ModelFunction.cs
- SecurityUtils.cs
- ActivatedMessageQueue.cs
- QueryOperationResponseOfT.cs
- TraceContextEventArgs.cs
- RuntimeVariableList.cs
- WebProxyScriptElement.cs
- ErrorView.xaml.cs
- MasterPage.cs
- BinaryUtilClasses.cs
- TimeManager.cs
- FormsAuthenticationCredentials.cs
- CharacterShapingProperties.cs
- formatter.cs
- DocumentViewerBaseAutomationPeer.cs
- ParallelTimeline.cs
- ProxyAttribute.cs
- RectangleGeometry.cs
- DefaultAssemblyResolver.cs
- CroppedBitmap.cs
- Closure.cs
- ArrayWithOffset.cs
- LoginDesignerUtil.cs
- HttpCookiesSection.cs
- OutKeywords.cs
- ClientBuildManager.cs
- IgnoreSection.cs