Las interfaces IDataReader y IDataRecord permiten que una clase heredada implemente una clase DataReader, que proporciona un medio para leer una o más secuencias de sólo avance de conjuntos de resultados. Para obtener más información sobre las clases DataReader, vea Recuperar datos mediante DataReader. Para obtener más información sobre la implementación de proveedores de datos de .NET Framework, vea Implementing a .NET Framework Data Provider.
Una aplicación no crea una instancia de la interfaz IDataReader directamente, sino que la crea de una clase que hereda de IDataReader.
Las clases que heredan de IDataReader deben implementar los miembros heredados y suelen definir miembros adicionales para agregar la funcionalidad específica de proveedor.
Los cambios realizados en un conjunto de resultados por otro proceso o subproceso mientras se están leyendo los datos pueden ser visibles para el usuario de una clase que implementa un IDataReader. Sin embargo, el comportamiento preciso depende del proveedor y del tiempo.
Notas para los implementadores
Para potenciar la coherencia entre los proveedores de datos de .NET Framework, asigne a la clase heredada un nombre con el formato
Prv Command, donde
Prv es el prefijo uniforme que se asigna a todas las clases de un espacio de nombres de proveedor de datos de .NET Framework específico. Por ejemplo,
Sql es el prefijo de la clase
SqlDataAdapter en el espacio de nombres
System.Data.SqlClient.
Los usuarios no crean directamente una instancia de la clase DataReader. En su lugar, obtienen el DataReader mediante el método
ExecuteReader del objeto Command. Por tanto, se deben marcar los constructores DataReader como internos.