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
- DesignerDataTable.cs
- FormsAuthenticationTicket.cs
- EdmComplexPropertyAttribute.cs
- InvokeProviderWrapper.cs
- HtmlString.cs
- ToolStripDropTargetManager.cs
- UserControlParser.cs
- Int16Animation.cs
- CompensationTokenData.cs
- XPathExpr.cs
- EntityFunctions.cs
- MessageProtectionOrder.cs
- ReadOnlyDataSource.cs
- XamlContextStack.cs
- OrderToken.cs
- precedingquery.cs
- SizeConverter.cs
- MonthChangedEventArgs.cs
- WeakKeyDictionary.cs
- HttpCapabilitiesBase.cs
- OdbcConnectionPoolProviderInfo.cs
- COM2ColorConverter.cs
- ByteAnimationBase.cs
- SingleResultAttribute.cs
- CompilerErrorCollection.cs
- DataTablePropertyDescriptor.cs
- Control.cs
- Base64Stream.cs
- ToolStripTextBox.cs
- WinFormsComponentEditor.cs
- ColumnClickEvent.cs
- XmlSchemaComplexContentExtension.cs
- FrugalList.cs
- RSACryptoServiceProvider.cs
- SqlCommandBuilder.cs
- CellConstant.cs
- TypeSystemProvider.cs
- ObjectStateEntryDbDataRecord.cs
- Stylesheet.cs
- ManifestBasedResourceGroveler.cs
- ProfileEventArgs.cs
- StaticExtensionConverter.cs
- OdbcStatementHandle.cs
- InternalDuplexChannelFactory.cs
- ImageCollectionCodeDomSerializer.cs
- TraceContextRecord.cs
- DrawingGroup.cs
- TagMapCollection.cs
- BitmapEffectCollection.cs
- OutputCacheSettings.cs
- Enlistment.cs
- HttpCapabilitiesEvaluator.cs
- LinqDataSourceContextEventArgs.cs
- ValidationRule.cs
- LambdaCompiler.Lambda.cs
- Pair.cs
- DelegatedStream.cs
- DateBoldEvent.cs
- TraceUtils.cs
- IRCollection.cs
- BmpBitmapDecoder.cs
- UniformGrid.cs
- RenderingBiasValidation.cs
- ProtectedUri.cs
- LocalServiceSecuritySettings.cs
- _ConnectOverlappedAsyncResult.cs
- MSG.cs
- XmlSchemaAppInfo.cs
- EventLogTraceListener.cs
- ActiveDocumentEvent.cs
- EntityCommandCompilationException.cs
- SafeNativeMethodsOther.cs
- ProxyHwnd.cs
- WebPartEditorCancelVerb.cs
- Polygon.cs
- MachineSettingsSection.cs
- DynamicILGenerator.cs
- IHttpResponseInternal.cs
- PassportIdentity.cs
- InvalidOleVariantTypeException.cs
- Matrix3DConverter.cs
- CellParagraph.cs
- FolderNameEditor.cs
- XPathPatternParser.cs
- MethodRental.cs
- Sequence.cs
- TagPrefixCollection.cs
- ObjRef.cs
- NetworkInterface.cs
- NamespaceList.cs
- WebPartExportVerb.cs
- StorageMappingItemCollection.cs
- EndpointPerformanceCounters.cs
- PropertyDescriptorCollection.cs
- ObjectQueryExecutionPlan.cs
- ValidatorCollection.cs
- FirstMatchCodeGroup.cs
- SymbolTable.cs
- VirtualPathUtility.cs
- UserPersonalizationStateInfo.cs