public VoyageDataContext(string connectionString, IIdentityProvider identityProvider, ILogger logger)
            : base(connectionString)
        {
            _identityProvider = identityProvider.ThrowIfNull(nameof(identityProvider));
            _logger           = logger.ThrowIfNull(nameof(logger));

            // Configure the username factory for the auditing
            ConfigureUsername(() => _identityProvider.GetUserName());
        }