public virtual async Task <TDatabase> Build() { TypeMap ??= DatabaseEntry.BuildTypeMap(); Database.Configure(TypeMap, ImmutableDictionary.CreateRange(_tables)); if (CreateTables) { var tables = GetTablesInCreationOrder().ToArray(); await Database.CreateTables(tables); } return(Database); }