public void CreateListShardMap(CreateShardMapArgs args) { args.Validate(); var connectionString = new SqlConnectionStringBuilder(args.ConnectionString); Log.Information( LoggingMessageTemplates.CreateListShardMap, args.MapName, args.ShardKeyType.Name, connectionString.InitialCatalog, connectionString.DataSource); CreateShardMap(args, "CreateListShardMap"); }
private static void CreateShardMap(CreateShardMapArgs args, string createMethodName) { var shardManagementServiceType = typeof(ShardMapManagementService); var createShardMapGeneric = shardManagementServiceType.GetMethod(createMethodName); var createShardMap = createShardMapGeneric.MakeGenericMethod(args.ShardKeyType); var shardManagementService = new ShardMapManagementService(args.ConnectionString); var parameters = new object[] { args.MapName }; createShardMap.Invoke(shardManagementService, parameters); }