Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- DefaultBinder.cs
- StringTraceRecord.cs
- LowerCaseStringConverter.cs
- InvokeHandlers.cs
- DbParameterCollectionHelper.cs
- SafeNativeMethods.cs
- ReflectionUtil.cs
- CodeTypeParameterCollection.cs
- BinaryObjectReader.cs
- DefaultAssemblyResolver.cs
- JobPageOrder.cs
- RecognizedPhrase.cs
- TreeViewBindingsEditor.cs
- Pens.cs
- CheckBox.cs
- BufferedStream.cs
- GlyphingCache.cs
- SkinIDTypeConverter.cs
- BaseDataList.cs
- SimpleRecyclingCache.cs
- Literal.cs
- PixelFormatConverter.cs
- safelinkcollection.cs
- WebContext.cs
- ChangeTracker.cs
- AppDomainCompilerProxy.cs
- Attributes.cs
- ShapingWorkspace.cs
- BinaryCommonClasses.cs
- DataException.cs
- Quaternion.cs
- SqlTopReducer.cs
- UnmanagedMemoryStream.cs
- TraceLog.cs
- ProviderIncompatibleException.cs
- ToolStripItemEventArgs.cs
- DefaultValueTypeConverter.cs
- XamlParser.cs
- ProfileGroupSettings.cs
- Rule.cs
- CultureTableRecord.cs
- TypeExtensionSerializer.cs
- ClonableStack.cs
- SqlBooleanMismatchVisitor.cs
- InfoCardRSAPKCS1SignatureDeformatter.cs
- AudioException.cs
- Drawing.cs
- InternalConfigConfigurationFactory.cs
- SHA384.cs
- OracleCommand.cs
- SizeLimitedCache.cs
- URLAttribute.cs
- TextRangeAdaptor.cs
- PackageDigitalSignatureManager.cs
- TypeDelegator.cs
- RowsCopiedEventArgs.cs
- RectValueSerializer.cs
- xmlglyphRunInfo.cs
- LogReservationCollection.cs
- ObjectItemConventionAssemblyLoader.cs
- KeyedHashAlgorithm.cs
- ExpressionEditorAttribute.cs
- JsonWriter.cs
- IBuiltInEvidence.cs
- IdleTimeoutMonitor.cs
- XmlQueryStaticData.cs
- SqlDataSourceSelectingEventArgs.cs
- Themes.cs
- ApplicationFileParser.cs
- SmiContextFactory.cs
- SoapAttributeAttribute.cs
- ConsoleTraceListener.cs
- PenThreadWorker.cs
- ImmutableObjectAttribute.cs
- XmlTextReader.cs
- SqlNodeAnnotation.cs
- DocumentPage.cs
- HierarchicalDataBoundControlAdapter.cs
- WmlTextViewAdapter.cs
- PeerService.cs
- ResXDataNode.cs
- DataMemberListEditor.cs
- ParsedRoute.cs
- Compensate.cs
- SqlUdtInfo.cs
- TypeUsageBuilder.cs
- GPPOINTF.cs
- WebEventTraceProvider.cs
- TemplateBindingExpressionConverter.cs
- SqlBooleanizer.cs
- DescendantBaseQuery.cs
- Rotation3DAnimationBase.cs
- DetailsViewInsertEventArgs.cs
- DetailsViewUpdateEventArgs.cs
- VisualStateGroup.cs
- SqlClientWrapperSmiStreamChars.cs
- EventLogPermission.cs
- TextTreeInsertUndoUnit.cs
- KeyGestureConverter.cs
- DockAndAnchorLayout.cs