Я бывший классический программист ASP, а иногда и программист PHP, пишу свое первое приложение ASP.NET. Мне нравятся значительно улучшенные функции ADO.NET, но я чувствую необходимость написать класс базы данных. Частично я хочу объединить код, который фактически взаимодействует с базой данных, и частично я хочу уменьшить то, что кажется повторением.
Простой класс базы данных сделать несложно, но я использую параметризованные запросы в качестве одной из моих мер безопасности. Я борюсь с тем, как включить это в класс. Я написал функцию, которая возвращает тип данных столбца в базе данных путем передачи имени таблицы и столбца, но я не могу придумать надежного способа получить имя таблицы и столбца из запроса SQL.
Мой дизайн для класса заключался в том, чтобы иметь функцию Query () для выбора и функцию Execute () для вставки / обновления / удаления. (Не против иметь больше открытых функций, но не хотел забегать вперед.) Обе функции принимают строку SQL и SortedList для параметров. Можно было бы получить имя столбца, найдя имя параметра в строке SQL и посмотрев перед знаком равенства. Аналогично, довольно просто получить имя таблицы, когда запрос вставляется, обновляется или удаляется, потому что вы работаете только с одной таблицей за раз. Большая проблема заключается в выборе, потому что может быть одно или несколько объединений, внутренних выборок и т. Д.
Я направляюсь в неправильном направлении? Что-нибудь, о чем я не думаю, может сделать мою жизнь проще или сложнее? Кто-нибудь написал для этого класс на любом языке, который мог бы дать какой-нибудь совет?