Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataEntity / System / Data / Metadata / Edm / ReferentialConstraint.cs / 1305376 / ReferentialConstraint.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] // @backupOwner [....] //--------------------------------------------------------------------- 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 [....] // @backupOwner [....] //--------------------------------------------------------------------- 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
- ScriptingWebServicesSectionGroup.cs
- FixedPageStructure.cs
- LinkClickEvent.cs
- EventMappingSettingsCollection.cs
- TileBrush.cs
- CollectionContainer.cs
- DataPagerFieldCommandEventArgs.cs
- XmlSchemaSimpleContentExtension.cs
- CalendarSelectionChangedEventArgs.cs
- InputBindingCollection.cs
- PropertyCondition.cs
- WebContext.cs
- XmlAtomicValue.cs
- SAPICategories.cs
- FigureHelper.cs
- FacetDescription.cs
- SQLSingleStorage.cs
- SHA256Managed.cs
- KeySplineConverter.cs
- PropertyGeneratedEventArgs.cs
- UnsafeNativeMethods.cs
- Vector3DValueSerializer.cs
- XamlDesignerSerializationManager.cs
- ConfigurationManagerInternal.cs
- ResourceCategoryAttribute.cs
- Cloud.cs
- AssertHelper.cs
- Mappings.cs
- CodeDirectionExpression.cs
- MetadataPropertyCollection.cs
- StrongTypingException.cs
- WebPartRestoreVerb.cs
- AsymmetricSignatureDeformatter.cs
- ItemMap.cs
- GeneralTransform.cs
- TabRenderer.cs
- IdentityNotMappedException.cs
- WCFModelStrings.Designer.cs
- CheckBox.cs
- XmlSchemaValidator.cs
- SimplePropertyEntry.cs
- ThicknessConverter.cs
- XamlHostingSectionGroup.cs
- DbParameterHelper.cs
- TreeViewCancelEvent.cs
- MessageSecurityVersion.cs
- CompressedStack.cs
- MetadataUtilsSmi.cs
- Mappings.cs
- ProfileServiceManager.cs
- TripleDESCryptoServiceProvider.cs
- EntityParameter.cs
- XmlSchemaExternal.cs
- PerformanceCountersBase.cs
- DynamicValidatorEventArgs.cs
- XmlTextReader.cs
- DataKey.cs
- DataControlFieldHeaderCell.cs
- Point3DAnimation.cs
- BitmapEffectState.cs
- HideDisabledControlAdapter.cs
- UnsafeNativeMethods.cs
- ExpressionNode.cs
- XsltFunctions.cs
- CodeAttributeDeclarationCollection.cs
- XmlEncoding.cs
- UriTemplateDispatchFormatter.cs
- GiveFeedbackEvent.cs
- XMLUtil.cs
- WmfPlaceableFileHeader.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- MemberHolder.cs
- UIElementHelper.cs
- ObservableCollectionDefaultValueFactory.cs
- AxisAngleRotation3D.cs
- TableRowGroup.cs
- DataSourceCacheDurationConverter.cs
- CompatibleComparer.cs
- AttributeEmitter.cs
- ContainerUIElement3D.cs
- DesignTimeParseData.cs
- Mapping.cs
- JoinCqlBlock.cs
- StandardBindingImporter.cs
- SqlDataSource.cs
- ProtectedConfigurationSection.cs
- DataGridViewCellCancelEventArgs.cs
- DefaultClaimSet.cs
- PersistencePipeline.cs
- RightsManagementProvider.cs
- MetafileEditor.cs
- QilGeneratorEnv.cs
- RealizationContext.cs
- SHA512Managed.cs
- XmlSerializerNamespaces.cs
- SourceChangedEventArgs.cs
- LinkLabel.cs
- GeometryModel3D.cs
- ApplicationSecurityManager.cs
- HMAC.cs