Die Ergebnisse können variieren, aber...
Je mehr Zeilen Sie abrufen, desto mehr Leistungsverbesserung werden Sie sehen. Ich verwende gerne Spaltenaliasse in meinen SELECT-Anweisungen, wie
select
physical_column_name as "MeinFeldName"
und habe eine Methode geschrieben, die selbsterklärend sein sollte,
public Dictionary GetOrdinalsByName(DbDataReader reader)
Also sehen dann meine Zuweisungen so aus
public void BindRow(DbDataReader dr)
{
TerminationDate = dr.GetDateTime(_columnOrdinals["TerminationDate"]);
Dictionaries führen in der Nähe von O(1) aus; daher ist dies ein vernünftiger Kompromiss zwischen Leistung und Wartbarkeit.