Я вижу использование IDataReader
вместо DbDataReader
во многих примерах (и использование других интерфейсов ADO.NET вместо соответствующих классов).Зачем использовать IDataReader вместо DbDataReader?
Я знаю, что IDataReader
- это интерфейс, а DbDataReader
- это класс и т. Д. И т. Д. ... Мой вопрос не в том, как интерфейсы отличаются от классов.
IDataReader
описывает интерфейс универсального устройства чтения данных.
DbDataReader
также является общим (но абстрактным классом).
Их примеры использования кажутся эквивалентными.
Зачем использовать общий интерфейс считывателя данных вместо использования универсального класса чтения данных? В каких случаях требуется только использование интерфейса? Какие случаи требуют использования класса только?
Типичный пример:
DbCommand cmd = conn.CreateCommand();
.....................
using (IDataReader reader = cmd.ExecuteReader())
{
grid.DataSource = reader;
grid.DataBind();
}
У вас есть написано то же, что и «Стэнли», но он объяснил это ясными словами. Таким образом, его ответ будет ответом. В любом случае, спасибо. – Paul
Ничего, хорошо, что вы выбираете тот, который ясен – Adil