示例#1
0
        /// <summary>
        /// Load a page
        /// </summary>
        /// <param name="suppressLoad">Suppress a Page refresh</param>
        protected void LoadPage(bool suppressLoad)
        {
            if (!suppressLoad)
            {
                reader.Load();
                PageData = reader.Data;

                reader.LoadHeader();
                Header = reader.Header;
            }

            if (Header.PageType != PageType.Gam ||
                Header.PageType != PageType.Sgam ||
                Header.PageType != PageType.Pfs)
            {
                DatabaseName          = LookupDatabaseName(Database.ConnectionString, DatabaseId);
                Header.PageTypeName   = GetPageTypeName(Header.PageType);
                Header.AllocationUnit = LookupAllocationUnit(Header.AllocationUnitId);

                if (Database.CompatibilityLevel > 90)
                {
                    CompressionType = GetPageCompressionType(Database.ConnectionString);
                }

                if (CompressionType == CompressionType.Page)
                {
                    CompressionInformation = new CompressionInformation(this, 96);
                }
            }

            if (Header.SlotCount > 0 && Header.ObjectId > 0)
            {
                LoadOffsetTable(Header.SlotCount);
            }
        }