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
- Addressing.cs
- XmlNodeComparer.cs
- HtmlForm.cs
- QilStrConcatenator.cs
- FormattedTextSymbols.cs
- FunctionOverloadResolver.cs
- Mapping.cs
- WindowsUpDown.cs
- SchemaComplexType.cs
- PersonalizableTypeEntry.cs
- ValueConversionAttribute.cs
- ToolStripButton.cs
- ServiceHttpHandlerFactory.cs
- ScriptServiceAttribute.cs
- SymmetricKey.cs
- EdmSchemaAttribute.cs
- ISAPIRuntime.cs
- AdornedElementPlaceholder.cs
- ContextStack.cs
- DesignParameter.cs
- _NegotiateClient.cs
- ParseChildrenAsPropertiesAttribute.cs
- UserControlBuildProvider.cs
- RegexMatchCollection.cs
- ArrayConverter.cs
- ExpandedProjectionNode.cs
- GatewayDefinition.cs
- DbMetaDataFactory.cs
- MultiPageTextView.cs
- BooleanStorage.cs
- SynchronizedInputPattern.cs
- NestedContainer.cs
- SessionPageStatePersister.cs
- JulianCalendar.cs
- XDeferredAxisSource.cs
- ImageResources.Designer.cs
- MultiPropertyDescriptorGridEntry.cs
- OrderedDictionaryStateHelper.cs
- SQLGuid.cs
- StyleBamlTreeBuilder.cs
- Int32.cs
- FlowLayout.cs
- FrameDimension.cs
- DataGridColumn.cs
- PropertyIdentifier.cs
- HtmlShim.cs
- ButtonField.cs
- PerformanceCounterPermissionEntry.cs
- HostProtectionPermission.cs
- FilterQueryOptionExpression.cs
- EditCommandColumn.cs
- AttributeQuery.cs
- PropertyChangedEventArgs.cs
- ToolStripDropDown.cs
- Attributes.cs
- MatrixTransform.cs
- ValidatingCollection.cs
- ResourceExpression.cs
- DateTimeAutomationPeer.cs
- UTF8Encoding.cs
- HashRepartitionStream.cs
- LocalizationComments.cs
- BindingCollectionElement.cs
- RowParagraph.cs
- CompositionAdorner.cs
- TCEAdapterGenerator.cs
- RegexCaptureCollection.cs
- ScrollPattern.cs
- BevelBitmapEffect.cs
- GiveFeedbackEvent.cs
- SafeCryptContextHandle.cs
- PlaceHolder.cs
- XmlBoundElement.cs
- OLEDB_Enum.cs
- QueryTreeBuilder.cs
- Soap12ServerProtocol.cs
- DbParameterHelper.cs
- XmlSchemaSimpleContentExtension.cs
- TableItemPattern.cs
- PointConverter.cs
- DataServiceException.cs
- ByteAnimationUsingKeyFrames.cs
- CustomError.cs
- DesignerTransaction.cs
- CustomWebEventKey.cs
- IpcClientChannel.cs
- ItemContainerGenerator.cs
- AnimationTimeline.cs
- VectorAnimationUsingKeyFrames.cs
- DPTypeDescriptorContext.cs
- TypefaceCollection.cs
- TemplatePropertyEntry.cs
- WebPartEditorOkVerb.cs
- SizeValueSerializer.cs
- Light.cs
- ChannelSinkStacks.cs
- TemplatingOptionsDialog.cs
- OneToOneMappingSerializer.cs
- FaultHandlingFilter.cs
- _SecureChannel.cs