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
- SHA256Managed.cs
- DragCompletedEventArgs.cs
- Pair.cs
- ItemsControlAutomationPeer.cs
- SqlDataSourceView.cs
- ConfigurationConverterBase.cs
- ToolboxItemCollection.cs
- TextBoxBase.cs
- PerformanceCounterPermission.cs
- RSAPKCS1SignatureFormatter.cs
- BinarySerializer.cs
- ToolStripPanelDesigner.cs
- PolicyLevel.cs
- CodeVariableReferenceExpression.cs
- ExternalDataExchangeService.cs
- DataPointer.cs
- ImmutablePropertyDescriptorGridEntry.cs
- DesignerActionVerbItem.cs
- FixUpCollection.cs
- SerializationHelper.cs
- DataSpaceManager.cs
- Conditional.cs
- NotImplementedException.cs
- SaveRecipientRequest.cs
- SpotLight.cs
- SmtpReplyReader.cs
- AutomationFocusChangedEventArgs.cs
- UpDownBase.cs
- BinarySecretKeyIdentifierClause.cs
- TypeElement.cs
- TypefaceCollection.cs
- ComboBox.cs
- CalendarDataBindingHandler.cs
- DBNull.cs
- CodeArgumentReferenceExpression.cs
- AppSettingsReader.cs
- InsufficientMemoryException.cs
- CommunicationObjectManager.cs
- Item.cs
- TabletDevice.cs
- LinqDataSourceStatusEventArgs.cs
- MultiByteCodec.cs
- Formatter.cs
- SqlErrorCollection.cs
- Mapping.cs
- LinqDataSourceContextEventArgs.cs
- SystemThemeKey.cs
- StorageInfo.cs
- ResXBuildProvider.cs
- prompt.cs
- ItemContainerProviderWrapper.cs
- EventQueueState.cs
- EncryptedPackageFilter.cs
- LinkButton.cs
- NamespaceDecl.cs
- ContentElementAutomationPeer.cs
- EpmSourceTree.cs
- DBDataPermission.cs
- GetTokenRequest.cs
- TextServicesDisplayAttribute.cs
- ClientUrlResolverWrapper.cs
- UnsafeNativeMethods.cs
- DbConnectionPoolGroupProviderInfo.cs
- LicFileLicenseProvider.cs
- Validator.cs
- ProbeMatchesApril2005.cs
- IndexedDataBuffer.cs
- UnsafeNativeMethods.cs
- WebScriptMetadataFormatter.cs
- UserInitiatedRoutedEventPermissionAttribute.cs
- SortFieldComparer.cs
- X509Utils.cs
- LinkDescriptor.cs
- XMLUtil.cs
- InfoCardXmlSerializer.cs
- HijriCalendar.cs
- entitydatasourceentitysetnameconverter.cs
- DataGridViewSortCompareEventArgs.cs
- TextTreeTextBlock.cs
- HandlerMappingMemo.cs
- EUCJPEncoding.cs
- MediaElement.cs
- ImageFormatConverter.cs
- GlyphElement.cs
- ThreadStaticAttribute.cs
- _LoggingObject.cs
- RsaKeyIdentifierClause.cs
- IPAddress.cs
- CodeMethodReturnStatement.cs
- XsdDataContractExporter.cs
- TableLayoutPanelDesigner.cs
- CircleHotSpot.cs
- LedgerEntryCollection.cs
- ClientConfigurationHost.cs
- Subtract.cs
- Relationship.cs
- AssemblyBuilder.cs
- GregorianCalendarHelper.cs
- NonParentingControl.cs
- SettingsPropertyNotFoundException.cs