Я бы не передавал DataRow клиенту, если бы он действительно был таким, как вы описали, как только вы определите DataRow для возврата, вы можете вернуть его ItemArray.
или, что еще лучше, вы создаете бизнесобъект, который содержит все необходимые поля, и в приведенном выше коде вы инициализируете его экземпляр из содержимого вашего DataReader.
PS в настоящее время ваш код даже не получает DataRow, а DataReader ...