При возврате данных из DataReader
я обычно использовал бы порядковый номер ссылки DataReader
для захвата соответствующего столбца:
if (dr.HasRows)
Console.WriteLine(dr[0].ToString());
или
if (dr.HasRows)
Console.WriteLine(dr.GetString(0));
или
if (dr.HasRows)
Console.WriteLine((string)dr[0]);
Я всегда делал это, потому что на ранней стадии мне советовали, что использование dr["ColumnName"]
или более элегантный способ индексирования приводит к поражению производительности.
Однако, хотя все ссылки на сущности данных становятся все более строго типизированными, я чувствую себя более неудобно с этим. Я также знаю, что выше не проверяется DBNull
.
Какой самый надежный способ вернуть данные из DataReader
?