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
- OutputCacheSection.cs
- WindowProviderWrapper.cs
- Parser.cs
- SymbolType.cs
- FixedSOMTable.cs
- Literal.cs
- PerformanceCounterPermissionEntry.cs
- ObjectDataSourceSelectingEventArgs.cs
- AppLevelCompilationSectionCache.cs
- WizardStepCollectionEditor.cs
- InstanceDataCollection.cs
- DynamicRenderer.cs
- EntitySqlQueryState.cs
- DataGridTablesFactory.cs
- QilFunction.cs
- ComMethodElement.cs
- WorkflowApplicationEventArgs.cs
- HierarchicalDataBoundControlAdapter.cs
- XmlEntityReference.cs
- BlurEffect.cs
- FormattedTextSymbols.cs
- ExceptionValidationRule.cs
- ScaleTransform.cs
- GetPageNumberCompletedEventArgs.cs
- TransactionChannelFactory.cs
- QueryInterceptorAttribute.cs
- SimpleExpression.cs
- IpcChannelHelper.cs
- Separator.cs
- RouteValueExpressionBuilder.cs
- UnmanagedMarshal.cs
- StringArrayConverter.cs
- UnorderedHashRepartitionStream.cs
- safelink.cs
- CompoundFileIOPermission.cs
- TransformerInfo.cs
- WindowsEditBoxRange.cs
- EpmSyndicationContentSerializer.cs
- TreeNode.cs
- UIElement3D.cs
- CLRBindingWorker.cs
- DocumentEventArgs.cs
- OutputWindow.cs
- ListenerElementsCollection.cs
- CollectionViewGroup.cs
- MonikerHelper.cs
- RewritingValidator.cs
- Vector3DCollectionConverter.cs
- ByteAnimationBase.cs
- MemberHolder.cs
- UpdatePanelControlTrigger.cs
- DataGridViewRowPrePaintEventArgs.cs
- DBBindings.cs
- XmlComplianceUtil.cs
- MultiPropertyDescriptorGridEntry.cs
- TcpStreams.cs
- SelectionListComponentEditor.cs
- DragEventArgs.cs
- PolicyUnit.cs
- QilInvokeEarlyBound.cs
- InvalidPrinterException.cs
- XmlDocumentType.cs
- Invariant.cs
- FixedDocument.cs
- DerivedKeyCachingSecurityTokenSerializer.cs
- GeometryConverter.cs
- CodeNamespaceImport.cs
- WebHttpDispatchOperationSelector.cs
- DefaultObjectMappingItemCollection.cs
- FragmentQueryKB.cs
- oledbmetadatacolumnnames.cs
- BitmapScalingModeValidation.cs
- ClientSideQueueItem.cs
- CompilerGlobalScopeAttribute.cs
- HtmlInputSubmit.cs
- TextDecoration.cs
- CacheDependency.cs
- DoWorkEventArgs.cs
- FormViewRow.cs
- ZoneButton.cs
- BinaryFormatterWriter.cs
- ControlIdConverter.cs
- WindowsGraphicsCacheManager.cs
- XmlnsCache.cs
- PointUtil.cs
- BamlTreeMap.cs
- ApplicationBuildProvider.cs
- EntityDescriptor.cs
- ClientSideQueueItem.cs
- ApplicationSecurityManager.cs
- ToolboxItemCollection.cs
- Evidence.cs
- MissingSatelliteAssemblyException.cs
- DesignerVerbCollection.cs
- ExpandSegmentCollection.cs
- SuppressMergeCheckAttribute.cs
- KeyNotFoundException.cs
- CommandDevice.cs
- DataControlField.cs
- NegotiateStream.cs