StorageTypeMapping.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataEntity / System / Data / Mapping / StorageTypeMapping.cs / 1305376 / StorageTypeMapping.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 { 
    ///  
    /// Represents the Mapping metadata for a type map in CS space.
    ///  
    /// 
    /// 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 the Type map elements in the
    /// above example namely EntityTypeMapping, AssociationTypeMapping and CompositionTypeMapping. 
    /// The TypeMapping elements contain TableMappingFragments which in turn contain the property maps. 
    /// 
    internal abstract class StorageTypeMapping { 
        #region Constructors
        /// 
        /// Construct the new CSTypeMapping object.
        ///  
        /// SetMapping that contains this type mapping 
        internal StorageTypeMapping(StorageSetMapping setMapping) { 
            this.m_fragments = new List(); 
            this.m_setMapping = setMapping;
        } 
        #endregion

        #region Fields
        StorageSetMapping m_setMapping; //ExtentMap that contains this type mapping 
        List m_fragments;  //Set of fragments that make up the type Mapping
        #endregion 
 

        #region Properties 
        /// 
        /// Mapping fragments that make up this set type
        /// 
        internal ReadOnlyCollection MappingFragments 
        {
            get 
            { 
                return this.m_fragments.AsReadOnly();
            } 
        }

        internal StorageSetMapping SetMapping
        { 
            get
            { 
                return m_setMapping; 
            }
        } 


        /// 
        /// a list of TypeMetadata that this mapping holds true for. 
        /// 
        internal abstract ReadOnlyCollection Types { get;} 
 
        /// 
        /// 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 abstract ReadOnlyCollection IsOfTypes { get;}
        #endregion 

        #region Methods 
        ///  
        /// Add a fragment mapping as child of this type mapping
        ///  
        /// 
        internal void AddFragment(StorageMappingFragment fragment)
        {
            this.m_fragments.Add(fragment); 
        }
 
 
        /// 
        /// This method is primarily for debugging purposes. 
        /// Will be removed shortly.
        /// 
        /// 
        internal abstract void Print(int index); 
        #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 { 
    ///  
    /// Represents the Mapping metadata for a type map in CS space.
    ///  
    /// 
    /// 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 the Type map elements in the
    /// above example namely EntityTypeMapping, AssociationTypeMapping and CompositionTypeMapping. 
    /// The TypeMapping elements contain TableMappingFragments which in turn contain the property maps. 
    /// 
    internal abstract class StorageTypeMapping { 
        #region Constructors
        /// 
        /// Construct the new CSTypeMapping object.
        ///  
        /// SetMapping that contains this type mapping 
        internal StorageTypeMapping(StorageSetMapping setMapping) { 
            this.m_fragments = new List(); 
            this.m_setMapping = setMapping;
        } 
        #endregion

        #region Fields
        StorageSetMapping m_setMapping; //ExtentMap that contains this type mapping 
        List m_fragments;  //Set of fragments that make up the type Mapping
        #endregion 
 

        #region Properties 
        /// 
        /// Mapping fragments that make up this set type
        /// 
        internal ReadOnlyCollection MappingFragments 
        {
            get 
            { 
                return this.m_fragments.AsReadOnly();
            } 
        }

        internal StorageSetMapping SetMapping
        { 
            get
            { 
                return m_setMapping; 
            }
        } 


        /// 
        /// a list of TypeMetadata that this mapping holds true for. 
        /// 
        internal abstract ReadOnlyCollection Types { get;} 
 
        /// 
        /// 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 abstract ReadOnlyCollection IsOfTypes { get;}
        #endregion 

        #region Methods 
        ///  
        /// Add a fragment mapping as child of this type mapping
        ///  
        /// 
        internal void AddFragment(StorageMappingFragment fragment)
        {
            this.m_fragments.Add(fragment); 
        }
 
 
        /// 
        /// This method is primarily for debugging purposes. 
        /// Will be removed shortly.
        /// 
        /// 
        internal abstract void Print(int index); 
        #endregion
    } 
} 

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK