Beispiel #1
0
        public IdGenerator(TableStorage storage)
        {
            tableIds = new ConcurrentDictionary<string, int>();

            using (var snapshot = storage.CreateSnapshot())
            {
                var pages = storage.Pages.TableName;
                tableIds.TryAdd(pages, ReadLastIdFromTable(storage.Pages, snapshot));

                var usage = storage.Usage.TableName;
                tableIds.TryAdd(usage, ReadLastIdFromTable(storage.Usage, snapshot));

                var signatures = storage.Signatures.TableName;
                tableIds.TryAdd(signatures, ReadLastIdFromTable(storage.Signatures, snapshot));
            }
        }