/// <summary>
 /// Construct a new Mapping Fragment object
 /// </summary>
 /// <param name="tableExtent"></param>
 /// <param name="typeMapping"></param>
 internal StorageMappingFragment(EntitySet tableExtent, StorageTypeMapping typeMapping, bool distinctFlag)
 {
     Debug.Assert(tableExtent != null, "Table should not be null when constructing a Mapping Fragment");
     Debug.Assert(typeMapping != null, "TypeMapping should not be null when constructing a Mapping Fragment");
     m_tableExtent = tableExtent;
     m_typeMapping = typeMapping;
     m_isSQueryDistinct = distinctFlag;
 }
        /// <summary>
        ///     Construct a new Mapping Fragment object
        /// </summary>
        /// <param name="tableExtent"> </param>
        /// <param name="typeMapping"> </param>
        internal StorageMappingFragment(EntitySet tableExtent, StorageTypeMapping typeMapping, bool distinctFlag)
        {
            DebugCheck.NotNull(tableExtent);
            DebugCheck.NotNull(typeMapping);

            m_tableExtent      = tableExtent;
            m_typeMapping      = typeMapping;
            m_isSQueryDistinct = distinctFlag;
        }
        /// <summary>
        ///     Construct a new Mapping Fragment object
        /// </summary>
        public StorageMappingFragment(EntitySet tableExtent, StorageTypeMapping typeMapping, bool isSQueryDistinct)
        {
            Check.NotNull(tableExtent, "tableExtent");
            Check.NotNull(typeMapping, "typeMapping");

            m_tableExtent = tableExtent;
            m_typeMapping = typeMapping;
            m_isSQueryDistinct = isSQueryDistinct;
        }
        /// <summary>
        ///     Construct a new Mapping Fragment object
        /// </summary>
        public StorageMappingFragment(EntitySet tableExtent, StorageTypeMapping typeMapping, bool isSQueryDistinct)
        {
            Check.NotNull(tableExtent, "tableExtent");
            Check.NotNull(typeMapping, "typeMapping");

            m_tableExtent      = tableExtent;
            m_typeMapping      = typeMapping;
            m_isSQueryDistinct = isSQueryDistinct;
        }
            public static string GetIdentity(StorageTypeMapping mapping)
            {
                var entityTypeMapping = mapping as StorageEntityTypeMapping;

                if (entityTypeMapping != null)
                {
                    return(GetIdentity(entityTypeMapping));
                }

                var associationTypeMapping = (StorageAssociationTypeMapping)mapping;

                return(GetIdentity(associationTypeMapping));
            }
        protected virtual void Visit(StorageTypeMapping storageTypeMapping)
        {
            foreach (var type in GetSequence(storageTypeMapping.IsOfTypes, it => it.Identity))
            {
                Visit(type);
            }

            foreach (var fragment in GetSequence(storageTypeMapping.MappingFragments, it => IdentityHelper.GetIdentity(it)))
            {
                Visit(fragment);
            }

            Visit(storageTypeMapping.SetMapping);

            foreach (var type in GetSequence(storageTypeMapping.Types, it => it.Identity))
            {
                Visit(type);
            }
        }
        protected virtual void Visit(StorageTypeMapping storageTypeMapping)
        {
            foreach (var type in storageTypeMapping.IsOfTypes)
            {
                Visit(type);
            }

            foreach (var fragment in storageTypeMapping.MappingFragments)
            {
                Visit(fragment);
            }

            Visit(storageTypeMapping.SetMapping);

            foreach (var type in storageTypeMapping.Types)
            {
                Visit(type);
            }
        }
Exemple #8
0
        protected override void Visit(StorageTypeMapping storageTypeMapping)
        {
            int index;

            if (!AddObjectToSeenListAndHashBuilder(storageTypeMapping, out index))
            {
                return;
            }

            AddObjectStartDumpToHashBuilder(storageTypeMapping, index);

            #region Inner data visit

            base.Visit(storageTypeMapping);

            #endregion

            AddObjectEndDumpToHashBuilder();
        }
        protected virtual void Visit(StorageTypeMapping storageTypeMapping)
        {
            foreach (var type in storageTypeMapping.IsOfTypes)
            {
                Visit(type);
            }

            foreach (var fragment in storageTypeMapping.MappingFragments)
            {
                Visit(fragment);
            }

            Visit(storageTypeMapping.SetMapping);

            foreach (var type in storageTypeMapping.Types)
            {
                Visit(type);
            }
        }
 /// <summary>
 /// Add type mapping as a child under this SetMapping
 /// </summary>
 /// <param name="typeMapping"></param>
 internal void AddTypeMapping(StorageTypeMapping typeMapping)
 {
     m_typeMappings.Add(typeMapping);
 }
Exemple #11
0
        /// <summary>
        ///     Add type mapping as a child under this SetMapping
        /// </summary>
        public void AddTypeMapping(StorageTypeMapping typeMapping)
        {
            Check.NotNull(typeMapping, "typeMapping");

            m_typeMappings.Add(typeMapping);
        }
Exemple #12
0
        /// <summary>
        ///     Add type mapping as a child under this SetMapping
        /// </summary>
        /// <param name="typeMapping"> </param>
        internal void AddTypeMapping(StorageTypeMapping typeMapping)
        {
            DebugCheck.NotNull(typeMapping);

            m_typeMappings.Add(typeMapping);
        }
        protected override void Visit(StorageTypeMapping storageTypeMapping)
        {
            int index;
            if (!AddObjectToSeenListAndHashBuilder(storageTypeMapping, out index))
            {
                return;
            }

            AddObjectStartDumpToHashBuilder(storageTypeMapping, index);

            #region Inner data visit

            base.Visit(storageTypeMapping);

            #endregion

            AddObjectEndDumpToHashBuilder();
        }
Exemple #14
0
        internal void RemoveTypeMapping(StorageTypeMapping typeMapping)
        {
            DebugCheck.NotNull(typeMapping);

            m_typeMappings.Remove(typeMapping);
        }
        internal void RemoveTypeMapping(StorageTypeMapping typeMapping)
        {
            DebugCheck.NotNull(typeMapping);

            m_typeMappings.Remove(typeMapping);
        }
        /// <summary>
        ///     Add type mapping as a child under this SetMapping
        /// </summary>
        /// <param name="typeMapping"> </param>
        public void AddTypeMapping(StorageTypeMapping typeMapping)
        {
            Check.NotNull(typeMapping, "typeMapping");

            m_typeMappings.Add(typeMapping);
        }
Exemple #17
0
        /// <summary>
        ///     Add type mapping as a child under this SetMapping
        /// </summary>
        /// <param name="typeMapping"> </param>
        internal void AddTypeMapping(StorageTypeMapping typeMapping)
        {
            DebugCheck.NotNull(typeMapping);

            m_typeMappings.Add(typeMapping);
        }