Набор против объекта DataReader
Что это было, примерно в 2002 году .Net дал нам DataAdapter/DataSet и DataReader. Все, что нам нужно было знать тогда, это то, что DataReader был самым быстрым.
Ну, это 14 лет спустя в корпоративной производственной среде после того, как мы должны были использовать хранимые процедуры после всех боев за предотвращение SQL-инъекции. ... Кстати, это служба Windows, никаких веб-вложений нигде нет.
Иногда нам нужно динамически генерировать SQL, поэтому нет никакого способа использовать хранимую процедуру, но в этом случае я потенциально мог бы, возможно. Это было бы хлопотно, но я мог бы сделать это... с ограничениями... потому что с помощью DataReader я перестаю читать строки, когда нахожу достаточно для обработки, которые имеют определенные критерии. Позже это станет еще более важным в будущем, поскольку разные записи получают разный приоритет (планируемая функция). Я подозреваю, что когда/если администратор БД поймет, что я использую DataReader с строковым литералом SQL, он выйдет из себя (он придирчив).
Поэтому мой вопрос будет таким
(1) Есть ли какие-либо новые последствия для рассмотрения использования DataReader, на которые я должен обратить внимание.
(2) Как я могу защитить свое решение о том, что мне нужна гибкость, если парень уходит?
Спасибо, М
Хммм. Вы можете создать хранимую процедуру, которая возьмет SQL-литерал и запустит его, но это все равно не то решение, которое мне нужно, и это действительно вывело бы его из себя.
Что я уже пробовал:
На самом деле, я сделал хранимую процедуру, но определил ее. DataReader дает мне гибкость, чтобы выбрать количество записей, которые я хочу, чтобы они соответствовали критериям, а затем я останавливаюсь.