/// <summary>
        /// Initializes a new instance of the <see cref="SqlProgramMapping" /> class.
        /// </summary>
        /// <param name="connection">The connection.</param>
        /// <param name="definition">The definition.</param>
        /// <param name="parameters">The parameters.</param>
        internal SqlProgramMapping(
            [NotNull] Connection connection,
            [NotNull] SqlProgramDefinition definition,
            [NotNull] IEnumerable<SqlProgramParameter> parameters)
        {
            if (connection == null) throw new ArgumentNullException(nameof(connection));
            if (definition == null) throw new ArgumentNullException(nameof(definition));
            if (parameters == null) throw new ArgumentNullException(nameof(parameters));

            Connection = connection;
            Definition = definition;
            Parameters = parameters;
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="SqlProgramMapping" /> class.
        /// </summary>
        /// <param name="connection">The connection.</param>
        /// <param name="definition">The definition.</param>
        /// <param name="parameters">The parameters.</param>
        internal SqlProgramMapping(
            [NotNull] Connection connection,
            [NotNull] SqlProgramDefinition definition,
            [NotNull] IEnumerable <SqlProgramParameter> parameters)
        {
            if (connection == null)
            {
                throw new ArgumentNullException(nameof(connection));
            }
            if (definition == null)
            {
                throw new ArgumentNullException(nameof(definition));
            }
            if (parameters == null)
            {
                throw new ArgumentNullException(nameof(parameters));
            }

            Connection = connection;
            Definition = definition;
            Parameters = parameters;
        }