Al devolver datos de un DataReader
yo usaría normalmente la referencia ordinal en el DataReader
para agarrar la columna correspondiente:DataReader - ordinales de código duro?
if (dr.HasRows)
Console.WriteLine(dr[0].ToString());
o
if (dr.HasRows)
Console.WriteLine(dr.GetString(0));
o
if (dr.HasRows)
Console.WriteLine((string)dr[0]);
que tienen siempre hecho esto porque me avisaron en una etapa temprana que usando dr["ColumnName"]
o más el Una forma elegante de indexar causa un golpe de rendimiento.
Sin embargo, aunque todas las referencias a las entidades de datos son cada vez más fuertemente tipadas, me siento más incómodo con esto. También sé que lo anterior no marca el DBNull
.
¿Cuál es la forma más robusta de devolver datos desde un DataReader
?
pregunta relacionada con el rendimiento: [sqldatareader-are-these-two-the-same-which-one-is-faster] (http: // stackoverflow.com/questions/7831574/sqldatareader-are-these-two-the-same-which-one-is-faster) – nawfal