public static IDataReader ExecuteQuery(this IPersistenceManager pm, string commandText, object commandParameters)
        {
            using (var cmd = pm.CreateCommand())
            {
                cmd.CommandText = commandText;

                foreach (var pair in commandParameters.ToDictionary())
                {
                    cmd.AddParameter("@" + pair.Key, pair.Value);
                }

                return(cmd.ExecuteReader());
            }
        }
        private IDbCommand GetBaseQuery(string query)
        {
            var cmd = persistenceManager.CreateCommand();

            cmd.CommandText = query;

            if (parameters != null)
            {
                foreach (KeyValuePair <string, object> kvp in parameters)
                {
                    var param = cmd.CreateParameter();
                    param.ParameterName = kvp.Key.StartsWith("@") ? kvp.Key : "@" + kvp.Key;
                    param.Value         = kvp.Value == null ? DBNull.Value : kvp.Value;
                    cmd.Parameters.Add(param);
                }
            }

            return(cmd);
        }