in App/src/Events-Tenant.Common/Utilities/Sharding.cs [42:71]
public Sharding(string catalogDatabase, string connectionString, ICatalogRepository catalogRepository, ITenantRepository tenantRepository, IUtilities utilities)
{
try
{
_catalogRepository = catalogRepository;
_tenantRepository = tenantRepository;
_utilities = utilities;
_shardMapConnectionString = connectionString;
// Deploy shard map manager
// if shard map manager exists, refresh content, else create it, then add content
ShardMapManager smm;
ShardMapManager =
!ShardMapManagerFactory.TryGetSqlShardMapManager(connectionString,
ShardMapManagerLoadPolicy.Lazy, out smm)
? ShardMapManagerFactory.CreateSqlShardMapManager(connectionString)
: smm;
// check if shard map exists and if not, create it
ListShardMap<int> sm;
ShardMap = !ShardMapManager.TryGetListShardMap(catalogDatabase, out sm)
? ShardMapManager.CreateListShardMap<int>(catalogDatabase)
: sm;
}
catch (Exception exception)
{
Trace.TraceError(exception.Message, "Error in sharding initialisation.");
}
}