public partial class Region : ActiveRecord<Region> //one for each table. public partial class RegionCollection : ActiveList<Region, RegionCollection> Next level public class ActiveList<ItemType, ListType> : AbstractList<ItemType, ListType> Next level public abstract class AbstractList<ItemType, ListType> : List<ItemType>, ITypedList where ItemType : AbstractRecord<ItemType>, new() where ListType : AbstractList<ItemType, ListType>, new() public abstract class ActiveRecord<T> : AbstractRecord<T> where T : AbstractRecord<T>, new() public abstract class AbstractRecord<T> where T : AbstractRecord<T>, new()As you can see the generator will create a collection for each table, each collection is derivated from Activelist.