public MGIndex(string path, string filename, byte keysize, bool allowdups) { _AllowDuplicates = allowdups; _index = new IndexFile <T>(Path.Combine(path, filename), keysize); // load page list _index.GetPageList(_pageListDiskPages, _pageList, out _LastIndexedRecordNumber); if (_pageList.Count == 0) { Page <T> page = new Page <T>(); page.FirstKey = (T)RDBDataType <T> .GetEmpty(); page.DiskPageNumber = _index.GetNewPageNumber(); page.isDirty = true; _pageList.Add(page.FirstKey, new PageInfo(page.DiskPageNumber, 0, 0)); _cache.Add(page.DiskPageNumber, page); } }