Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataEntity / System / Data / Mapping / StorageEntityTypeMapping.cs / 1305376 / StorageEntityTypeMapping.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] // @backupOwner [....] //--------------------------------------------------------------------- using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Text; using System.Data.Metadata.Edm; namespace System.Data.Mapping { ////// Mapping metadata for Entity type. /// If an EntitySet represents entities of more than one type, than we will have /// more than one EntityTypeMapping for an EntitySet( For ex : if /// PersonSet Entity extent represents entities of types Person and Customer, /// than we will have two EntityType Mappings under mapping for PersonSet). /// ////// For Example if conceptually you could represent the CS MSL file as following /// --Mapping /// --EntityContainerMapping ( CNorthwind-->SNorthwind ) /// --EntitySetMapping /// --EntityTypeMapping /// --TableMappingFragment /// --EntityKey /// --ScalarPropertyMap /// --ScalarPropertyMap /// --EntityTypeMapping /// --TableMappingFragment /// --EntityKey /// --ScalarPropertyMap /// --ComplexPropertyMap /// --ScalarPropertyMap /// --ScalarProperyMap /// --ScalarPropertyMap /// --AssociationSetMapping /// --AssociationTypeMapping /// --TableMappingFragment /// --EndPropertyMap /// --ScalarPropertyMap /// --ScalarProperyMap /// --EndPropertyMap /// --ScalarPropertyMap /// --EntityContainerMapping ( CMyDatabase-->SMyDatabase ) /// --CompositionSetMapping /// --CompositionTypeMapping /// --TableMappingFragment /// --ParentEntityKey /// --ScalarPropertyMap /// --ScalarPropertyMap /// --EntityKey /// --ScalarPropertyMap /// --ScalarPropertyMap /// --ComplexPropertyMap /// --ScalarPropertyMap /// --ScalarProperyMap /// --ScalarPropertyMap /// This class represents the metadata for all entity Type map elements in the /// above example. Users can access the table mapping fragments under the /// entity type mapping through this class. /// internal class StorageEntityTypeMapping : StorageTypeMapping { #region Constructors ////// Construct the new EntityTypeMapping object. /// /// Set Mapping that contains this Type mapping internal StorageEntityTypeMapping(StorageSetMapping setMapping) : base(setMapping) { } #endregion #region Fields private Dictionarym_entityTypes = new Dictionary (StringComparer.Ordinal); //Types for which the mapping holds true for. private Dictionary m_isOfEntityTypes = new Dictionary (StringComparer.Ordinal); //Types for which the mapping holds true for // not only the type specified but the sub-types of that type as well. #endregion #region Properties /// /// a list of TypeMetadata that this mapping holds true for. /// internal override ReadOnlyCollectionTypes { get { return new List (m_entityTypes.Values).AsReadOnly(); } } /// /// a list of TypeMetadatas for which the mapping holds true for /// not only the type specified but the sub-types of that type as well. /// internal override ReadOnlyCollectionIsOfTypes { get { return new List (m_isOfEntityTypes.Values).AsReadOnly(); } } #endregion #region Methods /// /// Add a Type to the list of types that this mapping is valid for /// internal void AddType(EdmType type) { this.m_entityTypes.Add(type.FullName, type); } ////// Add a Type to the list of Is-Of types that this mapping is valid for /// internal void AddIsOfType(EdmType type) { this.m_isOfEntityTypes.Add(type.FullName, type); } internal EntityType GetContainerType(string memberName) { foreach (EntityType type in m_entityTypes.Values) { if (type.Properties.Contains(memberName)) { return type; } } foreach (EntityType type in m_isOfEntityTypes.Values) { if (type.Properties.Contains(memberName)) { return type; } } return null; } ////// This method is primarily for debugging purposes. /// Will be removed shortly. /// /// internal override void Print(int index) { StorageEntityContainerMapping.GetPrettyPrintString(ref index); StringBuilder sb = new StringBuilder(); sb.Append("EntityTypeMapping"); sb.Append(" "); foreach (EdmType type in m_entityTypes.Values) { sb.Append("Types:"); sb.Append(type.FullName); sb.Append(" "); } foreach (EdmType type in m_isOfEntityTypes.Values) { sb.Append("Is-Of Types:"); sb.Append(type.FullName); sb.Append(" "); } Console.WriteLine(sb.ToString()); foreach (StorageMappingFragment fragment in MappingFragments) { fragment.Print(index + 5); } } #endregion } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] // @backupOwner [....] //--------------------------------------------------------------------- using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Text; using System.Data.Metadata.Edm; namespace System.Data.Mapping { ////// Mapping metadata for Entity type. /// If an EntitySet represents entities of more than one type, than we will have /// more than one EntityTypeMapping for an EntitySet( For ex : if /// PersonSet Entity extent represents entities of types Person and Customer, /// than we will have two EntityType Mappings under mapping for PersonSet). /// ////// For Example if conceptually you could represent the CS MSL file as following /// --Mapping /// --EntityContainerMapping ( CNorthwind-->SNorthwind ) /// --EntitySetMapping /// --EntityTypeMapping /// --TableMappingFragment /// --EntityKey /// --ScalarPropertyMap /// --ScalarPropertyMap /// --EntityTypeMapping /// --TableMappingFragment /// --EntityKey /// --ScalarPropertyMap /// --ComplexPropertyMap /// --ScalarPropertyMap /// --ScalarProperyMap /// --ScalarPropertyMap /// --AssociationSetMapping /// --AssociationTypeMapping /// --TableMappingFragment /// --EndPropertyMap /// --ScalarPropertyMap /// --ScalarProperyMap /// --EndPropertyMap /// --ScalarPropertyMap /// --EntityContainerMapping ( CMyDatabase-->SMyDatabase ) /// --CompositionSetMapping /// --CompositionTypeMapping /// --TableMappingFragment /// --ParentEntityKey /// --ScalarPropertyMap /// --ScalarPropertyMap /// --EntityKey /// --ScalarPropertyMap /// --ScalarPropertyMap /// --ComplexPropertyMap /// --ScalarPropertyMap /// --ScalarProperyMap /// --ScalarPropertyMap /// This class represents the metadata for all entity Type map elements in the /// above example. Users can access the table mapping fragments under the /// entity type mapping through this class. /// internal class StorageEntityTypeMapping : StorageTypeMapping { #region Constructors ////// Construct the new EntityTypeMapping object. /// /// Set Mapping that contains this Type mapping internal StorageEntityTypeMapping(StorageSetMapping setMapping) : base(setMapping) { } #endregion #region Fields private Dictionarym_entityTypes = new Dictionary (StringComparer.Ordinal); //Types for which the mapping holds true for. private Dictionary m_isOfEntityTypes = new Dictionary (StringComparer.Ordinal); //Types for which the mapping holds true for // not only the type specified but the sub-types of that type as well. #endregion #region Properties /// /// a list of TypeMetadata that this mapping holds true for. /// internal override ReadOnlyCollectionTypes { get { return new List (m_entityTypes.Values).AsReadOnly(); } } /// /// a list of TypeMetadatas for which the mapping holds true for /// not only the type specified but the sub-types of that type as well. /// internal override ReadOnlyCollectionIsOfTypes { get { return new List (m_isOfEntityTypes.Values).AsReadOnly(); } } #endregion #region Methods /// /// Add a Type to the list of types that this mapping is valid for /// internal void AddType(EdmType type) { this.m_entityTypes.Add(type.FullName, type); } ////// Add a Type to the list of Is-Of types that this mapping is valid for /// internal void AddIsOfType(EdmType type) { this.m_isOfEntityTypes.Add(type.FullName, type); } internal EntityType GetContainerType(string memberName) { foreach (EntityType type in m_entityTypes.Values) { if (type.Properties.Contains(memberName)) { return type; } } foreach (EntityType type in m_isOfEntityTypes.Values) { if (type.Properties.Contains(memberName)) { return type; } } return null; } ////// This method is primarily for debugging purposes. /// Will be removed shortly. /// /// internal override void Print(int index) { StorageEntityContainerMapping.GetPrettyPrintString(ref index); StringBuilder sb = new StringBuilder(); sb.Append("EntityTypeMapping"); sb.Append(" "); foreach (EdmType type in m_entityTypes.Values) { sb.Append("Types:"); sb.Append(type.FullName); sb.Append(" "); } foreach (EdmType type in m_isOfEntityTypes.Values) { sb.Append("Is-Of Types:"); sb.Append(type.FullName); sb.Append(" "); } Console.WriteLine(sb.ToString()); foreach (StorageMappingFragment fragment in MappingFragments) { fragment.Print(index + 5); } } #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
- SqlWebEventProvider.cs
- DbQueryCommandTree.cs
- ExpressionBuilderContext.cs
- CollectionEditVerbManager.cs
- StringAttributeCollection.cs
- _FtpControlStream.cs
- DataGrid.cs
- _Rfc2616CacheValidators.cs
- ViewDesigner.cs
- PeerNameRecordCollection.cs
- FixedSOMGroup.cs
- SecurityStandardsManager.cs
- Decorator.cs
- UserPersonalizationStateInfo.cs
- NavigationHelper.cs
- ToolBarButton.cs
- InvalidDocumentContentsException.cs
- PageParser.cs
- XmlDocumentSerializer.cs
- DesignerInterfaces.cs
- FrameworkRichTextComposition.cs
- Int32.cs
- StoryFragments.cs
- JsonReader.cs
- DrawingGroupDrawingContext.cs
- PrimarySelectionAdorner.cs
- HierarchicalDataBoundControl.cs
- Tracking.cs
- RadialGradientBrush.cs
- RtfControlWordInfo.cs
- AliasGenerator.cs
- storepermissionattribute.cs
- NameValuePair.cs
- TextTreeObjectNode.cs
- DBConnection.cs
- CustomCategoryAttribute.cs
- DynamicRendererThreadManager.cs
- TransformCollection.cs
- ProjectionCamera.cs
- UserNameSecurityTokenParameters.cs
- ByteAnimationBase.cs
- RangeEnumerable.cs
- UrlMappingsModule.cs
- bindurihelper.cs
- EmptyControlCollection.cs
- ServiceOperationHelpers.cs
- HtmlInputCheckBox.cs
- TextPointer.cs
- ButtonBaseAutomationPeer.cs
- KeyValueInternalCollection.cs
- DesignerValidatorAdapter.cs
- NamespaceInfo.cs
- UnitySerializationHolder.cs
- MemoryPressure.cs
- ObjectItemCollection.cs
- FileDialog.cs
- NetworkInformationException.cs
- ClientRuntimeConfig.cs
- GenericPrincipal.cs
- RowVisual.cs
- VariantWrapper.cs
- SQLDecimal.cs
- UnsafeNativeMethods.cs
- HttpRawResponse.cs
- EntityDataSourceEntityTypeFilterConverter.cs
- ListDictionary.cs
- TheQuery.cs
- Quaternion.cs
- _SingleItemRequestCache.cs
- RSAPKCS1KeyExchangeFormatter.cs
- CodeTypeMember.cs
- SpecialNameAttribute.cs
- ComponentEditorForm.cs
- RecommendedAsConfigurableAttribute.cs
- SerializationFieldInfo.cs
- DesignerHierarchicalDataSourceView.cs
- PerformanceCounterNameAttribute.cs
- HealthMonitoringSection.cs
- BaseDataList.cs
- DataGridAddNewRow.cs
- EndpointConfigContainer.cs
- XslNumber.cs
- ReadOnlyHierarchicalDataSourceView.cs
- xmlformatgeneratorstatics.cs
- Site.cs
- PtsContext.cs
- GridErrorDlg.cs
- ContextProperty.cs
- BuilderInfo.cs
- SqlCacheDependency.cs
- WebPartVerbCollection.cs
- WebScriptMetadataMessageEncoderFactory.cs
- RotateTransform.cs
- OperandQuery.cs
- CommonDialog.cs
- SystemEvents.cs
- ApplicationInfo.cs
- DataRowComparer.cs
- LogStore.cs
- BamlLocalizerErrorNotifyEventArgs.cs