/// <summary> /// Creates a new context based on this one with additional parameters added. /// </summary> /// <param name="additionalParameters">The additional parameters.</param> /// <returns></returns> public IContext WithParameters(IDictionary <string, object> additionalParameters) { return(new CachedContext( CommandText, OperationName, ParameterValues .Concat(additionalParameters) .ToDictionary(v => v.Key, v => v.Value) )); }