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 / EntitySetBaseCollection.cs / 2 / EntitySetBaseCollection.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....], [....] //--------------------------------------------------------------------- using System; using System.Collections; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Data.Common; using System.Reflection; using System.Text; using System.Diagnostics; namespace System.Data.Metadata.Edm { ////// Class representing a collection of entity set objects /// internal sealed class EntitySetBaseCollection : MetadataCollection{ // This collection allows changes to be intercepted before and after they are passed to MetadataCollection. The interception // is required to update the EntitySet's back-reference to the EntityContainer. #region Constructors /// /// Default constructor for constructing an empty collection /// /// The entity container that has this entity set collection ///Thrown if the argument entityContainer is null internal EntitySetBaseCollection(EntityContainer entityContainer) : this(entityContainer, null) { } ////// The constructor for constructing the collection with the given items /// /// The entity container that has this entity set collection /// The items to populate the collection ///Thrown if the argument entityContainer is null internal EntitySetBaseCollection(EntityContainer entityContainer, IEnumerableitems) : base(items) { EntityUtil.GenericCheckArgumentNull(entityContainer, "entityContainer"); _entityContainer = entityContainer; } #endregion #region Fields private readonly EntityContainer _entityContainer; #endregion #region Properties /// /// Gets an item from the collection with the given index /// /// The index to search for ///An item from the collection ///Thrown if the index is out of the range for the Collection ///Always thrown on setter public override EntitySetBase this[int index] { get { return base[index]; } set { throw EntityUtil.OperationOnReadOnlyCollection(); } } ////// Gets an item from the collection with the given identity /// /// The identity of the item to search for ///An item from the collection ///Thrown if identity argument passed in is null ///Thrown if the Collection does not have an EntitySet with the given identity ///Always thrown on setter public override EntitySetBase this[string identity] { get { return base[identity]; } set { throw EntityUtil.OperationOnReadOnlyCollection(); } } #endregion #region Methods ////// Adds an item to the collection /// /// The item to add to the list ///Thrown if item argument is null ///Thrown if the item passed in or the collection itself instance is in ReadOnly state ///Thrown if the EntitySetBase that is being added already belongs to another EntityContainer ///Thrown if the EntitySetCollection already contains an EntitySet with the same identity public override void Add(EntitySetBase item) { EntityUtil.GenericCheckArgumentNull(item, "item"); // Check to make sure the given entity set is not associated with another type ThrowIfItHasEntityContainer(item, "item"); base.Add(item); // Fix up the declaring type item.ChangeEntityContainerWithoutCollectionFixup(_entityContainer); } ////// Checks if the given entity set already has a entity container, if so, throw an exception /// /// The entity set to check for /// The name of the argument from the caller private static void ThrowIfItHasEntityContainer(EntitySetBase entitySet, string argumentName) { EntityUtil.GenericCheckArgumentNull(entitySet, argumentName); if (entitySet.EntityContainer != null) { throw EntityUtil.EntitySetInAnotherContainer(argumentName); } } #endregion } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....], [....] //--------------------------------------------------------------------- using System; using System.Collections; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Data.Common; using System.Reflection; using System.Text; using System.Diagnostics; namespace System.Data.Metadata.Edm { ////// Class representing a collection of entity set objects /// internal sealed class EntitySetBaseCollection : MetadataCollection{ // This collection allows changes to be intercepted before and after they are passed to MetadataCollection. The interception // is required to update the EntitySet's back-reference to the EntityContainer. #region Constructors /// /// Default constructor for constructing an empty collection /// /// The entity container that has this entity set collection ///Thrown if the argument entityContainer is null internal EntitySetBaseCollection(EntityContainer entityContainer) : this(entityContainer, null) { } ////// The constructor for constructing the collection with the given items /// /// The entity container that has this entity set collection /// The items to populate the collection ///Thrown if the argument entityContainer is null internal EntitySetBaseCollection(EntityContainer entityContainer, IEnumerableitems) : base(items) { EntityUtil.GenericCheckArgumentNull(entityContainer, "entityContainer"); _entityContainer = entityContainer; } #endregion #region Fields private readonly EntityContainer _entityContainer; #endregion #region Properties /// /// Gets an item from the collection with the given index /// /// The index to search for ///An item from the collection ///Thrown if the index is out of the range for the Collection ///Always thrown on setter public override EntitySetBase this[int index] { get { return base[index]; } set { throw EntityUtil.OperationOnReadOnlyCollection(); } } ////// Gets an item from the collection with the given identity /// /// The identity of the item to search for ///An item from the collection ///Thrown if identity argument passed in is null ///Thrown if the Collection does not have an EntitySet with the given identity ///Always thrown on setter public override EntitySetBase this[string identity] { get { return base[identity]; } set { throw EntityUtil.OperationOnReadOnlyCollection(); } } #endregion #region Methods ////// Adds an item to the collection /// /// The item to add to the list ///Thrown if item argument is null ///Thrown if the item passed in or the collection itself instance is in ReadOnly state ///Thrown if the EntitySetBase that is being added already belongs to another EntityContainer ///Thrown if the EntitySetCollection already contains an EntitySet with the same identity public override void Add(EntitySetBase item) { EntityUtil.GenericCheckArgumentNull(item, "item"); // Check to make sure the given entity set is not associated with another type ThrowIfItHasEntityContainer(item, "item"); base.Add(item); // Fix up the declaring type item.ChangeEntityContainerWithoutCollectionFixup(_entityContainer); } ////// Checks if the given entity set already has a entity container, if so, throw an exception /// /// The entity set to check for /// The name of the argument from the caller private static void ThrowIfItHasEntityContainer(EntitySetBase entitySet, string argumentName) { EntityUtil.GenericCheckArgumentNull(entitySet, argumentName); if (entitySet.EntityContainer != null) { throw EntityUtil.EntitySetInAnotherContainer(argumentName); } } #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
- CharacterMetricsDictionary.cs
- Expr.cs
- DataGridViewTopRowAccessibleObject.cs
- Bold.cs
- BitSet.cs
- HostingEnvironmentWrapper.cs
- ResXResourceReader.cs
- ComplusEndpointConfigContainer.cs
- HeaderedItemsControl.cs
- SoapObjectWriter.cs
- FrameworkElement.cs
- IdentityReference.cs
- HttpWebResponse.cs
- DataContext.cs
- DataListItemEventArgs.cs
- VideoDrawing.cs
- RealProxy.cs
- MatrixCamera.cs
- DeclaredTypeElementCollection.cs
- Helper.cs
- AsymmetricAlgorithm.cs
- DefaultValidator.cs
- CommonObjectSecurity.cs
- MethodBody.cs
- MimeMultiPart.cs
- LogWriteRestartAreaAsyncResult.cs
- XmlSchemaSubstitutionGroup.cs
- SelectedDatesCollection.cs
- Vector.cs
- XmlArrayAttribute.cs
- FacetChecker.cs
- Timer.cs
- CfgParser.cs
- ConnectionManagementElementCollection.cs
- FlowDocumentReaderAutomationPeer.cs
- ReferenceEqualityComparer.cs
- FunctionParameter.cs
- StringPropertyBuilder.cs
- PanelDesigner.cs
- TableColumnCollectionInternal.cs
- MissingManifestResourceException.cs
- SettingsSection.cs
- SizeAnimationClockResource.cs
- CustomErrorsSectionWrapper.cs
- LeftCellWrapper.cs
- WinFormsSpinner.cs
- GAC.cs
- TimeSpanSecondsConverter.cs
- DocumentViewerConstants.cs
- CompressEmulationStream.cs
- CommandDesigner.cs
- WmlPageAdapter.cs
- RelationshipEndCollection.cs
- ListView.cs
- ProfileSettingsCollection.cs
- GetWinFXPath.cs
- MimeMapping.cs
- OrthographicCamera.cs
- CanExecuteRoutedEventArgs.cs
- PngBitmapEncoder.cs
- PathSegment.cs
- WindowClosedEventArgs.cs
- AppSettingsReader.cs
- TreeViewBindingsEditor.cs
- HuffmanTree.cs
- TableItemProviderWrapper.cs
- AbandonedMutexException.cs
- WebMessageEncodingElement.cs
- Executor.cs
- odbcmetadatafactory.cs
- TextViewBase.cs
- SkipStoryboardToFill.cs
- Rijndael.cs
- ClientBuildManagerCallback.cs
- BreakRecordTable.cs
- TimeEnumHelper.cs
- StylusPointProperty.cs
- KnownTypesHelper.cs
- _TLSstream.cs
- ThreadWorkerController.cs
- ImportContext.cs
- HwndMouseInputProvider.cs
- Int32Rect.cs
- WindowsClaimSet.cs
- __ConsoleStream.cs
- MemberInfoSerializationHolder.cs
- LoadWorkflowByInstanceKeyCommand.cs
- WebPartEditorApplyVerb.cs
- FixUp.cs
- EditCommandColumn.cs
- PerformanceCounterPermissionEntry.cs
- Cursor.cs
- Stackframe.cs
- PropertyEmitterBase.cs
- WebPartChrome.cs
- QueryAccessibilityHelpEvent.cs
- EntityDescriptor.cs
- StrongNamePublicKeyBlob.cs
- EndPoint.cs
- XslAst.cs