Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- ButtonField.cs
- CacheMemory.cs
- RSAPKCS1KeyExchangeFormatter.cs
- XmlWriterDelegator.cs
- IpcClientManager.cs
- CounterCreationData.cs
- AppLevelCompilationSectionCache.cs
- AsyncPostBackTrigger.cs
- AmbientValueAttribute.cs
- DataService.cs
- RtType.cs
- ColorAnimationUsingKeyFrames.cs
- ApplicationHost.cs
- WorkflowMarkupSerializerMapping.cs
- Control.cs
- TrustManagerMoreInformation.cs
- FrameworkElementAutomationPeer.cs
- BitmapMetadataEnumerator.cs
- UnionExpr.cs
- CardSpacePolicyElement.cs
- EventsTab.cs
- DoubleAnimation.cs
- LinqDataView.cs
- ExceptionUtility.cs
- ToolStripDropDownButton.cs
- SmtpNegotiateAuthenticationModule.cs
- _HelperAsyncResults.cs
- Canvas.cs
- ServiceOperationParameter.cs
- OleDbEnumerator.cs
- IriParsingElement.cs
- SmtpFailedRecipientsException.cs
- Visual3D.cs
- DataTable.cs
- PeerApplication.cs
- TabControlEvent.cs
- Region.cs
- RangeValuePatternIdentifiers.cs
- XamlToRtfWriter.cs
- AsynchronousChannel.cs
- SafeWaitHandle.cs
- CommonBehaviorsSection.cs
- StringReader.cs
- CodeSnippetStatement.cs
- Compiler.cs
- TraceShell.cs
- PropertyItem.cs
- SubpageParagraph.cs
- ImageClickEventArgs.cs
- ClassImporter.cs
- PrimitiveSchema.cs
- AppDomain.cs
- ACL.cs
- DataGridViewColumnDesigner.cs
- ClientScriptManagerWrapper.cs
- FileDialogCustomPlace.cs
- XMLSyntaxException.cs
- SMSvcHost.cs
- ClientUtils.cs
- EntityDataSourceDataSelectionPanel.cs
- PageHandlerFactory.cs
- AttachedPropertyBrowsableWhenAttributePresentAttribute.cs
- SpeechRecognitionEngine.cs
- ExpressionBinding.cs
- ByteRangeDownloader.cs
- ObjectItemLoadingSessionData.cs
- AuthenticationModulesSection.cs
- PolicyLevel.cs
- ConnectionsZone.cs
- HiddenField.cs
- UpdateRecord.cs
- SendContent.cs
- QueryReaderSettings.cs
- DispatcherFrame.cs
- HtmlInputSubmit.cs
- FileUtil.cs
- TargetException.cs
- ExtendedProtectionPolicyElement.cs
- TypeReference.cs
- Bits.cs
- OracleColumn.cs
- InvokeWebService.cs
- ResourceReferenceExpression.cs
- _NetworkingPerfCounters.cs
- IncrementalReadDecoders.cs
- XmlAttributeOverrides.cs
- _NetworkingPerfCounters.cs
- CodeCastExpression.cs
- Timer.cs
- LayoutTableCell.cs
- ClusterSafeNativeMethods.cs
- InstanceOwnerException.cs
- XamlFxTrace.cs
- EntityConnectionStringBuilder.cs
- TreeWalkHelper.cs
- SmuggledIUnknown.cs
- Random.cs
- CollectionContainer.cs
- WindowsFont.cs
- ReadOnlyActivityGlyph.cs