Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataEntity / System / Data / Metadata / Edm / EntityContainer.cs / 1305376 / EntityContainer.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] // @backupOwner [....] //--------------------------------------------------------------------- using System; using System.Collections.Generic; using System.Data.Common; using System.Text; using System.Diagnostics; namespace System.Data.Metadata.Edm { ////// Class for representing an entity container /// public sealed class EntityContainer : GlobalItem { #region Constructors ////// The constructor for constructing the EntityContainer object with the name, namespaceName, and version. /// /// The name of this entity container /// dataSpace in which this entity container belongs to ///Thrown if the name argument is null ///Thrown if the name argument is empty string internal EntityContainer(string name, DataSpace dataSpace) { EntityUtil.CheckStringArgument(name, "name"); _name = name; this.DataSpace = dataSpace; _baseEntitySets = new ReadOnlyMetadataCollection(new EntitySetBaseCollection(this)); _functionImports = new ReadOnlyMetadataCollection (new MetadataCollection ()); } #endregion #region Fields private readonly string _name; private readonly ReadOnlyMetadataCollection _baseEntitySets; private readonly ReadOnlyMetadataCollection _functionImports; #endregion #region Properties /// /// Returns the kind of the type /// public override BuiltInTypeKind BuiltInTypeKind { get { return BuiltInTypeKind.EntityContainer; } } ////// Gets the identity for this item as a string /// internal override string Identity { get { return this.Name; } } ////// Get the name of this EntityContainer object /// [MetadataProperty(PrimitiveTypeKind.String, false)] public String Name { get { return _name; } } ////// Gets the collection of entity sets /// [MetadataProperty(BuiltInTypeKind.EntitySetBase, true)] public ReadOnlyMetadataCollectionBaseEntitySets { get { return _baseEntitySets; } } /// /// Gets the collection of function imports for this entity container /// [MetadataProperty(BuiltInTypeKind.EdmFunction, true)] public ReadOnlyMetadataCollectionFunctionImports { get { return _functionImports; } } #endregion #region Methods /// /// 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(); this.BaseEntitySets.Source.SetReadOnly(); this.FunctionImports.Source.SetReadOnly(); } } ////// Get the entity set with the given name /// /// name of the entity set to look up for /// true if you want to do a case-insensitive lookup ///public EntitySet GetEntitySetByName(string name, bool ignoreCase) { EntitySet entitySet = (BaseEntitySets.GetValue(name, ignoreCase) as EntitySet); if (null != entitySet) { return entitySet; } throw EntityUtil.InvalidEntitySetName(name); } /// /// Get the entity set with the given name or return null if not found /// /// name of the entity set to look up for /// true if you want to do a case-insensitive lookup /// out parameter that will contain the result ////// if name argument is null public bool TryGetEntitySetByName(string name, bool ignoreCase, out EntitySet entitySet) { EntityUtil.CheckArgumentNull(name, "name"); EntitySetBase baseEntitySet = null; entitySet = null; if (this.BaseEntitySets.TryGetValue(name, ignoreCase, out baseEntitySet)) { if (Helper.IsEntitySet(baseEntitySet)) { entitySet = (EntitySet)baseEntitySet; return true; } } return false; } ////// Get the relationship set with the given name /// /// name of the relationship set to look up for /// true if you want to do a case-insensitive lookup ///public RelationshipSet GetRelationshipSetByName(string name, bool ignoreCase) { RelationshipSet relationshipSet; if (!this.TryGetRelationshipSetByName(name, ignoreCase, out relationshipSet)) { throw EntityUtil.InvalidRelationshipSetName(name); } return relationshipSet; } /// /// Get the relationship set with the given name /// /// name of the relationship set to look up for /// true if you want to do a case-insensitive lookup /// out parameter that will have the result ////// if name argument is null public bool TryGetRelationshipSetByName(string name, bool ignoreCase, out RelationshipSet relationshipSet) { EntityUtil.CheckArgumentNull(name, "name"); EntitySetBase baseEntitySet = null; relationshipSet = null; if (this.BaseEntitySets.TryGetValue(name, ignoreCase, out baseEntitySet)) { if (Helper.IsRelationshipSet(baseEntitySet)) { relationshipSet = (RelationshipSet)baseEntitySet; return true; } } return false; } ////// Overriding System.Object.ToString to provide better String representation /// for this type. /// public override string ToString() { return Name; } internal void AddEntitySetBase(EntitySetBase entitySetBase) { _baseEntitySets.Source.Add(entitySetBase); } internal void AddFunctionImport(EdmFunction function) { Debug.Assert(null != function); _functionImports.Source.Add(function); } #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
- WebRequestModulesSection.cs
- TreeViewEvent.cs
- RecordsAffectedEventArgs.cs
- HwndTarget.cs
- MetafileHeader.cs
- EtwTrace.cs
- Storyboard.cs
- UIElement.cs
- MenuItemStyleCollection.cs
- EmptyReadOnlyDictionaryInternal.cs
- PropertyOrder.cs
- ImageEditor.cs
- RegexCompiler.cs
- LocalClientSecuritySettings.cs
- SmiContextFactory.cs
- DataRow.cs
- Part.cs
- XhtmlBasicTextBoxAdapter.cs
- CatalogPartChrome.cs
- ListMarkerSourceInfo.cs
- HandleExceptionArgs.cs
- WebUtility.cs
- ObjectSecurity.cs
- DataSetUtil.cs
- LineBreakRecord.cs
- DataObjectMethodAttribute.cs
- SmiMetaDataProperty.cs
- httpstaticobjectscollection.cs
- TextShapeableCharacters.cs
- InteropExecutor.cs
- RequestReplyCorrelator.cs
- SecurityElement.cs
- TypeReference.cs
- ItemAutomationPeer.cs
- VoiceSynthesis.cs
- CLSCompliantAttribute.cs
- CheckBoxBaseAdapter.cs
- KeyEvent.cs
- ProtectedConfiguration.cs
- GradientBrush.cs
- Run.cs
- PolicyStatement.cs
- TextPointer.cs
- RichTextBox.cs
- Figure.cs
- XmlFormatExtensionAttribute.cs
- DependencySource.cs
- DataGridViewButtonColumn.cs
- RadioButtonRenderer.cs
- DataGridParentRows.cs
- ResourceReferenceExpression.cs
- SHA384.cs
- InputMethodStateTypeInfo.cs
- DataBoundControlHelper.cs
- PaperSize.cs
- TabPage.cs
- LateBoundBitmapDecoder.cs
- SimpleFieldTemplateUserControl.cs
- AnimationTimeline.cs
- ContextMenu.cs
- RenderDataDrawingContext.cs
- linebase.cs
- MessageHeaders.cs
- FtpCachePolicyElement.cs
- FilterEventArgs.cs
- BamlResourceDeserializer.cs
- XmlAttribute.cs
- WebPartVerb.cs
- ResourceBinder.cs
- ISO2022Encoding.cs
- Mapping.cs
- OrthographicCamera.cs
- SQLSingleStorage.cs
- printdlgexmarshaler.cs
- MergeEnumerator.cs
- BlockUIContainer.cs
- ClientTarget.cs
- SafeArrayRankMismatchException.cs
- SQLInt32.cs
- ResourceDescriptionAttribute.cs
- ArrayTypeMismatchException.cs
- OdbcReferenceCollection.cs
- RefreshEventArgs.cs
- TextPenaltyModule.cs
- BeginStoryboard.cs
- DesignerSerializationVisibilityAttribute.cs
- ClientUrlResolverWrapper.cs
- PointCollection.cs
- ListBox.cs
- DataTrigger.cs
- XPathParser.cs
- EntryIndex.cs
- HttpCacheVary.cs
- Constants.cs
- WebServiceHostFactory.cs
- AutomationElement.cs
- Input.cs
- ToolStripPanelSelectionBehavior.cs
- GeometryCollection.cs
- DirtyTextRange.cs