Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / 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
- AccessKeyManager.cs
- DataRecordObjectView.cs
- OleDbCommandBuilder.cs
- ConnectionPoint.cs
- AccessDataSourceWizardForm.cs
- ResourcePermissionBaseEntry.cs
- WebPartPersonalization.cs
- AdornerLayer.cs
- ResXResourceSet.cs
- TrackingDataItemValue.cs
- DocumentPaginator.cs
- BooleanConverter.cs
- RSAOAEPKeyExchangeDeformatter.cs
- BinaryNode.cs
- DataGridViewTextBoxCell.cs
- NodeLabelEditEvent.cs
- MulticastOption.cs
- UnitControl.cs
- ConstraintConverter.cs
- AssemblyBuilder.cs
- XmlSchemaAnyAttribute.cs
- InkPresenter.cs
- IdentitySection.cs
- XamlWriterExtensions.cs
- ImportContext.cs
- Source.cs
- DetailsViewPageEventArgs.cs
- ProtocolsConfiguration.cs
- URIFormatException.cs
- Barrier.cs
- Command.cs
- ToolStripManager.cs
- Geometry.cs
- BypassElement.cs
- WorkflowInstanceExtensionCollection.cs
- TypeInfo.cs
- sitestring.cs
- EntityViewGenerationAttribute.cs
- ArgIterator.cs
- ScrollBar.cs
- SqlDataSourceConfigureSortForm.cs
- EntityDataSourceColumn.cs
- LabelEditEvent.cs
- HttpDebugHandler.cs
- ContextStack.cs
- UDPClient.cs
- TextTreeRootNode.cs
- XmlILIndex.cs
- basenumberconverter.cs
- LogicalExpr.cs
- Brushes.cs
- TextAutomationPeer.cs
- OdbcParameterCollection.cs
- UpdateTracker.cs
- WindowsPrincipal.cs
- TreeChangeInfo.cs
- DbConnectionStringCommon.cs
- GrammarBuilderDictation.cs
- XPathMessageFilter.cs
- UriTemplate.cs
- OleDbSchemaGuid.cs
- PropertyEmitter.cs
- WasAdminWrapper.cs
- CollectionViewGroupRoot.cs
- NetworkInformationPermission.cs
- RefreshPropertiesAttribute.cs
- SqlDelegatedTransaction.cs
- SyndicationDeserializer.cs
- SAPIEngineTypes.cs
- Expr.cs
- TemplateEditingService.cs
- XmlNamespaceDeclarationsAttribute.cs
- CompiledIdentityConstraint.cs
- OdbcCommandBuilder.cs
- WithParamAction.cs
- SiteMapNodeItemEventArgs.cs
- TranslateTransform3D.cs
- HandleCollector.cs
- DataSysAttribute.cs
- ItemChangedEventArgs.cs
- CodeGenerationManager.cs
- ChannelParameterCollection.cs
- QueryStringParameter.cs
- XhtmlStyleClass.cs
- ImageListUtils.cs
- ClockController.cs
- MatrixKeyFrameCollection.cs
- DataTrigger.cs
- WeakRefEnumerator.cs
- CultureMapper.cs
- PointCollection.cs
- DataBindingExpressionBuilder.cs
- PrintController.cs
- CompilerHelpers.cs
- MessageDecoder.cs
- ValidateNames.cs
- TypeConvertions.cs
- ManualResetEvent.cs
- sqlinternaltransaction.cs
- EraserBehavior.cs