Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- UInt16Converter.cs
- SharedStream.cs
- WebHeaderCollection.cs
- MeshGeometry3D.cs
- EastAsianLunisolarCalendar.cs
- HMACSHA512.cs
- CollectionBase.cs
- OdbcEnvironment.cs
- EditorPart.cs
- IndentedWriter.cs
- FontUnit.cs
- CompositeDataBoundControl.cs
- SqlClientPermission.cs
- CompareValidator.cs
- PolyQuadraticBezierSegment.cs
- AuthenticationManager.cs
- ConfigViewGenerator.cs
- KeyConverter.cs
- GridEntry.cs
- CombinedGeometry.cs
- FigureParaClient.cs
- ToolStripCustomTypeDescriptor.cs
- FloatUtil.cs
- BaseCodeDomTreeGenerator.cs
- NullableFloatSumAggregationOperator.cs
- WebPartEventArgs.cs
- WebSysDescriptionAttribute.cs
- Win32Native.cs
- Aggregates.cs
- SimpleBitVector32.cs
- InsufficientMemoryException.cs
- ElapsedEventArgs.cs
- RecognizerBase.cs
- UshortList2.cs
- LoginView.cs
- LightweightCodeGenerator.cs
- SchemaType.cs
- ToolbarAUtomationPeer.cs
- SharedDp.cs
- Listen.cs
- HandlerBase.cs
- AddInActivator.cs
- GradientBrush.cs
- FutureFactory.cs
- SiteMapProvider.cs
- ZipIOEndOfCentralDirectoryBlock.cs
- DataControlCommands.cs
- NameValuePermission.cs
- JsonClassDataContract.cs
- DictationGrammar.cs
- FileSystemEventArgs.cs
- ComponentCollection.cs
- ThrowOnMultipleAssignment.cs
- SafeHandle.cs
- IImplicitResourceProvider.cs
- ChangeTracker.cs
- CollectionBuilder.cs
- DataServiceExpressionVisitor.cs
- PropertyEmitterBase.cs
- Nullable.cs
- DataSysAttribute.cs
- TrackingQueryElement.cs
- TrustLevelCollection.cs
- XpsSerializationManagerAsync.cs
- CallSite.cs
- DataGridrowEditEndingEventArgs.cs
- ObjectTag.cs
- GrabHandleGlyph.cs
- CodeBlockBuilder.cs
- InitiatorServiceModelSecurityTokenRequirement.cs
- XmlSchemaNotation.cs
- BitmapEffectInputData.cs
- Byte.cs
- ExpressionVisitor.cs
- MethodResolver.cs
- Queue.cs
- MenuCommand.cs
- HttpApplication.cs
- VarInfo.cs
- Image.cs
- SystemColors.cs
- VisualBasicValue.cs
- HtmlTitle.cs
- DbFunctionCommandTree.cs
- WpfPayload.cs
- DesignerCommandAdapter.cs
- Html32TextWriter.cs
- CommandEventArgs.cs
- IconHelper.cs
- DbResourceAllocator.cs
- ActivationServices.cs
- JsonStringDataContract.cs
- AuthenticateEventArgs.cs
- HtmlInputHidden.cs
- EntityDataSourceQueryBuilder.cs
- AgileSafeNativeMemoryHandle.cs
- ComplexTypeEmitter.cs
- WorkflowViewStateService.cs
- TraceSection.cs
- SelectionHighlightInfo.cs