/// <summary>
 /// Fetch Output Parameter values include input values
 /// </summary>
 /// <param name="collection"></param>
 /// <param name="parameterPrefixText"></param>
 protected virtual void GetOutputParamterValuesIncludeInput(DbParameterCollection collection, string parameterPrefixText)
 {
     Parameters.Clear();
     foreach (DbParameter param in collection)
     {
         if (param.Direction == ParameterDirection.Output || param.Direction == ParameterDirection.InputOutput)
         {
             Parameters.AddWithValue(param.ParameterName.Substring(parameterPrefixText.Length), param.Value);
         }
     }
 }
        /// <summary>
        /// Fetch Output parameter values
        /// </summary>
        /// <param name="collection">DbParameterCollection</param>
        /// <param name="parameterPrefixText">parameter prefix Text</param>
        protected void GetOutputParamterValues(DbParameterCollection collection, string parameterPrefixText)
        {
            var dbparams = from DbParameter d in collection
                           where d.Direction == ParameterDirection.Output ||
                           d.Direction == ParameterDirection.InputOutput
                           select new { ParamName = d.ParameterName, Value = d.Value };

            foreach (var param in dbparams)
            {
                Parameters.AddWithValue(param.ParamName.Substring(parameterPrefixText.Length), param.Value);
            }
        }