В настоящее время я создаю новый метод для каждого запроса MySQL с параметрами Я хочу выполнить.Пример:
public DataTable RetreiveAllLinks(int id, int categoryid)
{
const string request =
@"
SELECT *
FROM links
WHERE id=?id,categoryid=?categoryid
ORDER by id DESC
";
using (var query = new MySqlCommand(request))
{
query.Parameters.AddWithValue("?id", id);
query.Parameters.AddWithValue("?categoryid", categoryid);
return _connection.RetreiveData(query);
}
}
Это действительно действует мне на нервы, потому что у меня всегда получается 10-30 запросов, когда два запроса могут сделать это для меня, простой метод получения запроса без параметров,и метод для параметров.Например,
public DataTable NonParameterCommand(string r)
{
var request = r;
using (var query = new MySqlCommand(request))
{
return _connection.RetreiveData(query);
}
}
Что я хочу сделать, это некоторое регулярное выражение, где я бы сказал, например,
var pPattern = "^[\\?][\\w]";
, а затем метод с запросом и списком в качестве параметров, исписок должен быть в том же порядке, что и параметры запроса.Поэтому, если запрос
`"SELECT * FROM test WHERE id=?id,categoryid=?categoryid"`
, мой список будет выглядеть как
var _dictionary = new Dictionary<string, string>();
_dictionary.Add(_parameter, _value);
, а мой метод
ParameterCommand(string r, Dictionary dic)
, но как именно?