This class is used to get sequence numbers (primary keys) for tables, where the physical sequence table is updated in batches.
[SoInject("Database")] public class CachedSequence
Picking from sequence one-by-one is the default and usually correct approach, since it (almost) guarantees a chronological order in the target table, and no holes. However, there are cases where, for performance reasons, it is better to "burn" an interval. This is kept in-memory and then given out. If the process recycles or another process does the same, holes may result; and the target table id's may not be in chronological order.
public int GetNext(string tableName, int physicalBatchSize = 100)
public override string ToString()