По сути, у вас есть 2 обхода базы данных вместо одного. Это может быть проблемой производительности, если вы будете часто вызывать это и , результат будет маленьким и , вы уже оптимизировали как запрос, так и хранимую процедуру (поэтому округление накладные расходы на поездки становятся значительными по сравнению с фактической полезной работой).
Оцените и посмотрите, не является ли эта функциональность узким местом. Если да, вы можете попытаться «объединить» эти две операции на уровне SQL, чтобы они могли быть выполнены размером с сервер за один раз.
Я не уверен, связано ли это с вашим вопросом, но имейте в виду, что (в зависимости от вашего поставщика СУБД / ADO.NET) несколько активных считывателей в одном соединении могут поддерживаться или не поддерживаться. Вы закрываете первый DbDataReader
перед открытием второго? Если нет, и вы случайно переключаетесь на другую СУБД, могут возникнуть проблемы. Если память мне подходит, Oracle (ODP.NET) и DB2 поддерживают несколько считывателей, а MS SQL Server и PostgreSQL (Npgsql) - нет.