Bienvenida

jueves, 5 de octubre de 2017

Tema: ADO .NET

1. Contenido
·         DEFINICION
ADO.NET es un conjunto de clases que exponen servicios de acceso a datos para programadores de .NET Framework. ADO.NET ofrece abundancia de componentes para la creación de aplicaciones de uso compartido de datos distribuidas. Constituye una parte integral de .NET Framework y proporciona acceso a datos relacionales, XML y de aplicaciones. ADO.NET satisface diversas necesidades de desarrollo, como la creación de clientes de base de datos front-end y objetos empresariales de nivel medio que utilizan aplicaciones, herramientas, lenguajes o exploradores de Internet. ADO.NET es un conjunto de clases que exponen servicios de acceso a datos para programadores de .NET Framework. ADO.NET ofrece abundancia de componentes para la creación de aplicaciones de uso compartido de datos distribuidas. Constituye una parte integral de .NET Framework y proporciona acceso a datos relacionales, XML y de aplicaciones. ADO.NET satisface diversas necesidades de desarrollo, como la creación de clientes de base de datos front-end y objetos empresariales de nivel medio que utilizan aplicaciones, herramientas, lenguajes o exploradores de Internet.
·         ARQUITECTURA DE ADO.NET
ADO.NET consiste en dos partes primarias:
Data provider
Estas clases proporcionan el acceso a una fuente de datos, como Microsoft SQL Server y Oracle. Cada fuente de datos tiene su propio conjunto de objetos del proveedor, pero cada uno tiene un conjunto común de clases de utilidad:
Connection: Proporciona una conexión usada para comunicarse con la fuente de datos. También actúa como Abstract Factory para los objetos command.
Command: Usado para realizar alguna acción en la fuente de datos, como lectura, actualización, o borrado de datos relacionales.
Parameter: Describe un simple parámetro para un command. Un ejemplo común es un parámetro para ser usado en un procedimiento almacenado.
DataAdapter: "Puente" utilizado para transferir data entre una fuente de datos y un objeto DataSet (ver abajo).
DataReader: Es una clase usada para procesar eficientemente una lista grande de resultados, un registro a la vez.
DataSets
Los objetos DataSets, son un grupo de clases que describen una simple base de datos relacional en memoria, fueron la estrella del show en el lanzamiento inicial (1.0) del Microsoft .NET Framework. Las clases forman una jerarquía de contención:
Un objeto DataSet representa un esquema (o una base de datos entera o un subconjunto de una). Puede contener las tablas y las relaciones entre esas tablas.
Un objeto DataTable representa una sola tabla en la base de datos. Tiene un nombre, filas, y columnas.
Un objeto DataView "se sienta sobre" un DataTable y ordena los datos (como una cláusula "order by" de SQL) y, si se activa un filtro, filtra los registros (como una cláusula "where" del SQL). Para facilitar estas operaciones se usa un índice en memoria. Todas las DataTables tienen un filtro por defecto, mientras que pueden ser definidos cualquier número de DataViews adicionales, reduciendo la interacción con la base de datos subyacente y mejorando así el desempeño.
Un DataColumn representa una columna de la tabla, incluyendo su nombre y tipo.
Un objeto DataRow representa una sola fila en la tabla, y permite leer y actualizar los valores en esa fila, así como la recuperación de cualquier fila que esté relacionada con ella a través de una relación de clave primaria - clave extranjera.
Un DataRowView representa una sola fila de un DataView, la diferencia entre un DataRow y el DataRowView es importante cuando se está interactuando sobre un resultset.
Un DataRelation es una relación entre las tablas, tales como una relación de clave primaria - clave ajena. Esto es útil para permitir la funcionalidad del DataRow de recuperar filas relacionadas.
Un Constraint describe una propiedad de la base de datos que se debe cumplir, como que los valores en una columna de clave primaria deben ser únicos. A medida que los datos son modificados cualquier violación que se presente causará excepciones.
Un DataSet es llenado desde una base de datos por un DataAdapter cuyas propiedades Connection y Command que han sido iniciados. Sin embargo, un DataSet puede guardar su contenido a XML (opcionalmente con un esquema XSD), o llenarse a sí mismo desde un XML, haciendo esto excepcionalmente útil para los servicios web, computación distribuida, y aplicaciones ocasionalmente conectadas desconectados. 
DATASET
Jerarquía de herencia
System.Object
  
System.ComponentModel.MarshalByValueComponent
    System.Data.DataSet
Sintaxis
public class DataSet : MarshalByValueComponent, IListSource,
            IXmlSerializable, ISupportInitializeNotification, ISupportInitialize,
            ISerializable
Constructores
Nombre
Descripción
System_CAPS_pubmethod
Inicializa una nueva instancia de la clase DataSet.
System_CAPS_protmethod
Esta API admite la infraestructura producto y no está diseñada para usarse directamente desde el código. Inicializa una nueva instancia de un DataSet clase que tiene la información de serialización especificado y el contexto.
System_CAPS_protmethod
Esta API admite la infraestructura producto y no está diseñada para usarse directamente desde el código. Inicializa una nueva instancia de la clase DataSet.
System_CAPS_pubmethod
Inicializa una nueva instancia de un DataSet clase con el nombre especificado.

Propiedades
Nombre
Descripción
System_CAPS_pubproperty
Obtiene o establece un valor que indica si comparaciones dentro de cadenas DataTable objetos distinguen mayúsculas de minúsculas.
System_CAPS_pubproperty
Obtiene el contenedor del componente.(Heredado de MarshalByValueComponent).
System_CAPS_pubproperty
Obtiene o establece el nombre del actual DataSet.
System_CAPS_pubproperty
Obtiene una vista personalizada de los datos contenidos en el DataSet para permitir filtrar, buscar y desplazarse mediante un personalizado DataViewManager.
System_CAPS_pubproperty
Obtiene un valor que indica si el componente está actualmente en modo de diseño.(Heredado de MarshalByValueComponent).
System_CAPS_pubproperty
Obtiene o establece un valor que indica si se siguen las reglas de restricción al intentar cualquier operación de actualización.
System_CAPS_protproperty
Obtiene la lista de controladores de eventos que están asociados a este componente.(Heredado de MarshalByValueComponent).
System_CAPS_pubproperty
Obtiene la colección de información personalizada del usuario asociada a la DataSet.
System_CAPS_pubproperty
Obtiene un valor que indica si hay errores en cualquiera de los DataTable objetos dentro de este DataSet.
System_CAPS_pubproperty
Obtiene un valor que indica si el DataSet se inicializa.
System_CAPS_pubproperty
Obtiene o establece la información de configuración regional utilizada para comparar las cadenas de la tabla.
System_CAPS_pubproperty
Obtiene o establece el espacio de nombres de la DataSet.
System_CAPS_pubproperty
Obtiene o establece un prefijo XML que crea alias del espacio de nombres de la DataSet.
System_CAPS_pubproperty
Obtiene la colección de relaciones que vincula las tablas y permitir la navegación de primario tablas a las tablas secundarias.
System_CAPS_pubproperty
Obtiene o establece un SerializationFormat para el DataSet utilizado durante la comunicación remota.
System_CAPS_pubproperty
Obtiene o establece un SchemaSerializationMode para un DataSet.
System_CAPS_pubproperty
Obtiene o establece una interfaz System.ComponentModel.ISite para el objeto DataSet.(Invalida MarshalByValueComponent.Site).
System_CAPS_pubproperty
Obtiene la colección de tablas contenidas en el DataSet.

Métodos
Nombre
Descripción
System_CAPS_pubmethod
Confirma todos los cambios realizados en esta DataSet desde que se cargó o desde la última vez AcceptChanges se llamó.
System_CAPS_pubmethod
Activa la inicialización de un objeto DataSet que se emplea en un formulario o que utiliza otro componente. La inicialización se produce en tiempo de ejecución.
System_CAPS_pubmethod
Borra la DataSet de los datos mediante la eliminación de todas las filas de todas las tablas.
System_CAPS_pubmethod
Copia la estructura de la DataSet, todas las incluidas DataTable esquemas, relaciones y restricciones. No copia los datos.
System_CAPS_pubmethod
Copia la estructura y los datos para este DataSet.
System_CAPS_pubmethod
Devuelve un DataTableReader con un conjunto de resultados por DataTable, en la misma secuencia que las tablas aparecen en la Tables colección.
System_CAPS_pubmethod
Devuelve un DataTableReader con un conjunto de resultados por DataTable.
System_CAPS_protmethod
Determina el SchemaSerializationMode para un DataSet.
System_CAPS_protmethod
Determina el SchemaSerializationMode para un DataSet.
System_CAPS_pubmethod
Libera todos los recursos que usa MarshalByValueComponent.(Heredado de MarshalByValueComponent).
System_CAPS_protmethod
Libera los recursos no administrados que usa MarshalByValueComponent y libera los recursos administrados de forma opcional.(Heredado de MarshalByValueComponent).
System_CAPS_pubmethod
Finaliza la inicialización de un objeto DataSet que se emplea en un formulario o que utiliza otro componente. La inicialización se produce en tiempo de ejecución.
System_CAPS_pubmethod
Determina si el objeto especificado es igual al objeto actual.(Heredado de Object).
System_CAPS_protmethod
Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por el recolector de basura. (Heredado de MarshalByValueComponent).
System_CAPS_pubmethod
Obtiene una copia de la DataSet que contiene todos los cambios realizados desde que se cargó o desde AcceptChanges por última vez.
System_CAPS_pubmethod
Obtiene una copia de la DataSet que contiene todos los cambios realizados desde que se cargó o desde AcceptChanges se llama, filtrados por DataRowState.
System_CAPS_pubmethodSystem_CAPS_static
Esta API admite la infraestructura producto y no está diseñada para usarse directamente desde el código. Obtiene una copia de XmlSchemaSet del conjunto de datos.
System_CAPS_pubmethod
Sirve como la función hash predeterminada.(Heredado de Object).
System_CAPS_pubmethod
Rellena un objeto de información de serialización con los datos necesarios para serializar el DataSet.
System_CAPS_protmethod
Esta API admite la infraestructura producto y no está diseñada para usarse directamente desde el código. Devuelve un serializable T:System.Xml.Schema.XMLSchema instancia.
System_CAPS_protmethod
Esta API admite la infraestructura producto y no está diseñada para usarse directamente desde el código. Deserializa los datos de la tabla de la secuencia binaria o XML.
System_CAPS_pubmethod
Obtiene el implementador de la IServiceProvider.(Heredado de MarshalByValueComponent).
System_CAPS_pubmethod
Obtiene el Type de la instancia actual.(Heredado de Object).
System_CAPS_pubmethod
Devuelve la representación XML de los datos almacenados en el DataSet.
System_CAPS_pubmethod
Devuelve el esquema XML para la representación XML de los datos almacenados en el DataSet.
System_CAPS_pubmethod
Obtiene un valor que indica si la DataSet presenta cambios, incluidas filas nuevas, eliminadas o modificadas.
System_CAPS_pubmethod
Obtiene un valor que indica si la DataSet presenta cambios, incluidas filas nuevas, eliminadas o modificadas, filtrados por DataRowState.
System_CAPS_pubmethod
Aplica el esquema XML especificado Stream a la DataSet.
System_CAPS_pubmethod
Aplica el esquema XML del archivo especificado a la DataSet.
System_CAPS_pubmethod
Aplica el esquema XML especificado TextReader a la DataSet.
System_CAPS_pubmethod
Aplica el esquema XML especificado XmlReader a la DataSet.
System_CAPS_protmethod
Esta API admite la infraestructura producto y no está diseñada para usarse directamente desde el código. La deserialización de todos los datos de tablas del conjunto de datos de la secuencia binaria o XML.
System_CAPS_protmethod
Inspecciona el formato de la representación serializada de la DataSet.
System_CAPS_pubmethod
Rellena un DataSet con los valores de un origen de datos con el IDataReader, utilizando una matriz de DataTable instancias para proporcionar la información de esquema y espacio de nombres.
System_CAPS_pubmethod
Rellena un DataSet con los valores de un origen de datos con el IDataReader, utilizando una matriz de DataTable instancias para proporcionar la información de esquema y espacio de nombres.
System_CAPS_pubmethod
Rellena un DataSet con los valores de un origen de datos con el IDataReader, utilizando una matriz de cadenas para suministrar los nombres de las tablas dentro de la DataSet.
System_CAPS_protmethod
Crea una copia superficial del Object actual.(Heredado de Object).
System_CAPS_pubmethod
Combina una matriz de DataRow objetos en actual DataSet.
System_CAPS_pubmethod
Combina una matriz de DataRow objetos en actual DataSet, conservando o descartando los cambios efectuados en el DataSet y controlando un esquema incompatible de acuerdo con los argumentos especificados.
System_CAPS_pubmethod
Combina un especificado DataSet y su esquema en el actual DataSet.
System_CAPS_pubmethod
Combina un especificado DataSet y su esquema en el actual DataSet, conservando o descartando los cambios en esta DataSet según el argumento especificado.
System_CAPS_pubmethod
Combina un especificado DataSet y su esquema con el actual DataSet, conservando o descartando los cambios efectuados en este DataSet y controlando un esquema incompatible de acuerdo con los argumentos especificados.
System_CAPS_pubmethod
Combina un especificado DataTable y su esquema en el actual DataSet.
System_CAPS_pubmethod
Combina un especificado DataTable y su esquema en el actual DataSet, conservando o descartando los cambios efectuados en el DataSet y controlando un esquema incompatible de acuerdo con los argumentos especificados.
System_CAPS_protmethod
Genera el evento OnPropertyChanging.
System_CAPS_protmethod
Se produce cuando un DataRelation objeto se quita de un DataTable.
System_CAPS_protmethod
Se produce cuando un DataTable se quita de un DataSet.
System_CAPS_protmethod
Envía una notificación de que el especificado DataSet propiedad que se va a cambiar.
System_CAPS_pubmethod
Lee el esquema XML y los datos del DataSet usando el objeto System.IO.Stream.
System_CAPS_pubmethod
Lee el esquema XML y datos en la DataSet con System.IO.Stream y XmlReadMode.
System_CAPS_pubmethod
Lee el esquema XML y los datos del DataSet utilizando el archivo especificado.
System_CAPS_pubmethod
Lee el esquema XML y los datos del DataSet utilizando el archivo especificado y XmlReadMode.
System_CAPS_pubmethod
Lee el esquema XML y los datos del DataSet usando el objeto System.IO.TextReader.
System_CAPS_pubmethod
Lee el esquema XML y datos en la DataSet con System.IO.TextReader y XmlReadMode.
System_CAPS_pubmethod
Lee el esquema XML y los datos del DataSet usando el objeto System.Xml.XmlReader.
System_CAPS_pubmethod
Lee el esquema XML y datos en la DataSet con System.Xml.XmlReader y XmlReadMode.
System_CAPS_pubmethod
Lee el esquema XML especificado Stream en la DataSet.
System_CAPS_pubmethod
Lee el esquema XML del archivo especificado en el DataSet.
System_CAPS_pubmethod
Lee el esquema XML especificado TextReader en la DataSet.
System_CAPS_pubmethod
Lee el esquema XML especificado XmlReader en la DataSet.
System_CAPS_protmethod
Esta API admite la infraestructura producto y no está diseñada para usarse directamente desde el código. Omite los atributos y devuelve un conjunto de datos vacío.
System_CAPS_pubmethod
Deshace todos los cambios realizados en el DataSet desde que se creó o desde la última vez DataSet.AcceptChanges se llamó.
System_CAPS_pubmethod
Borra todas las tablas y quita todas las relaciones, restricciones externas y tablas de la DataSet.Las subclases deben reemplazar Reset para restaurar un DataSet a su estado original.
System_CAPS_protmethod
Obtiene un valor que indica si Relations propiedad debe persistir.
System_CAPS_protmethod
Obtiene un valor que indica si Tables propiedad debe persistir.
System_CAPS_pubmethod
Devuelve un String que contiene el nombre de la Component, si existe. Este método no se debe invalidar.(Heredado de MarshalByValueComponent).
System_CAPS_pubmethod
Escribe los datos actuales para el DataSet usando el objeto System.IO.Stream.
System_CAPS_pubmethod
Escribe los datos actuales y, opcionalmente, el esquema para el DataSet usando el objeto System.IO.Stream y XmlWriteMode. Para escribir el esquema, establezca el valor de la modeparámetro WriteSchema.
System_CAPS_pubmethod
Escribe los datos actuales para el DataSet en el archivo especificado.
System_CAPS_pubmethod
Escribe los datos actuales y, opcionalmente, el esquema para el DataSet en el archivo especificado utilizando el parámetro XmlWriteMode. Para escribir el esquema, establezca el valor de la mode parámetro WriteSchema.
System_CAPS_pubmethod
Escribe los datos actuales para el DataSet usando el objeto TextWriter.
System_CAPS_pubmethod
Escribe los datos actuales y, opcionalmente, el esquema para el DataSet usando el objeto TextWriter y XmlWriteMode. Para escribir el esquema, establezca el valor de la modeparámetro WriteSchema.
System_CAPS_pubmethod
Escribe los datos actuales para el DataSet especificado XmlWriter.
System_CAPS_pubmethod
Escribe los datos actuales y, opcionalmente, el esquema para el DataSet usando el objeto XmlWriter y XmlWriteMode. Para escribir el esquema, establezca el valor de la mode parámetro WriteSchema.
System_CAPS_pubmethod
Escribe el DataSet estructura como un esquema XML especificado System.IO.Stream objeto.
System_CAPS_pubmethod
Escribe el DataSet estructura como un esquema XML especificado System.IO.Stream objeto.
System_CAPS_pubmethod
Escribe el DataSet estructura como un esquema XML a un archivo.
System_CAPS_pubmethod
Escribe el DataSet estructura como un esquema XML a un archivo.
System_CAPS_pubmethod
Escribe la estructura DataSet como un esquema XML al objeto TextWriter especificado.
System_CAPS_pubmethod
Escribe el DataSet estructura como un esquema XML especificado TextWriter.
System_CAPS_pubmethod
Escribe el DataSet estructura como un esquema XML a un XmlWriter objeto.
System_CAPS_pubmethod
Escribe el DataSet estructura como un esquema XML especificado XmlWriter.
Eventos
Nombre
Descripción
System_CAPS_pubevent
Agrega un controlador de eventos para escuchar el Disposed evento en el componente.(Heredado de MarshalByValueComponent).
System_CAPS_pubevent
Se produce después de la DataSet se inicializa.
System_CAPS_pubevent
Se produce cuando un origen y destino DataRow tienen el mismo valor de clave principal y EnforceConstraintsse establece en true.

Implementaciones de interfaz explícitas
Nombre
Descripción
System_CAPS_pubinterfaceSystem_CAPS_privmethod
Para una descripción de este miembro, vea IListSource.GetList.
System_CAPS_pubinterfaceSystem_CAPS_privmethod
Para una descripción de este miembro, vea IXmlSerializable.GetSchema.
System_CAPS_pubinterfaceSystem_CAPS_privmethod
Para una descripción de este miembro, vea IXmlSerializable.ReadXml.
System_CAPS_pubinterfaceSystem_CAPS_privmethod
Para una descripción de este miembro, vea IXmlSerializable.WriteXml.
System_CAPS_pubinterfaceSystem_CAPS_privproperty
Para una descripción de este miembro, vea IListSource.ContainsListCollection.

·         CLASES DE ADO.NET
ADO.NET y Visual Studio .NET
En el IDE Visual Studio .NET existe la funcionalidad para crear las subclases especializadas de las clases del DataSet para un esquema particular de base de datos, permitiendo el acceso conveniente a cada campo a través de propiedades fuertemente tipadas. Esto ayuda a capturar más errores de programación en tiempo de compilación y hace más útil la característica Intellisense del IDE.
ADO.NET Entity Framework
El ADO.NET Entity Framework es un conjunto de APIs de acceso a datos para el Microsoft .NET Framework, apuntando a la versión de ADO.NET que se incluye con el .NET Framework 3.5. Fue lanzado como actualización separada junto con el Service Pack 1 para el .NET Framework, después del lanzamiento de tanto el .NET Framework 3.5 y el Visual Studio 2008. Una nueva versión del Entity Framework (v 4.0) será liberada junto al Visual Studio 2010 y el .NET Framework 4.0.
Una entidad del Entity Framework es un objeto que tiene una clave representando la clave primaria de una entidad lógica de datastore. Un modelo conceptual Entity Data Model (modelo Entidad-Relación) es mapeado a un modelo de esquema de datastore. Usando el Entity Data Model, el Framework permite que los datos sean tratados como entidades independientemente de sus representaciones del datastore subyacente.
El Entity SQL es un lenguaje similar al SQL para consultar el Entity Data Model (en vez del datastore subyacente). Similarmente, las extensiones del Linq, Linq-to-Entities, proporcionan consultas tipeadas en el Entity Data Model. Las consultas Entity SQL y Linq-to-Entities son convertidas internamente en un Canonical Query Tree que entonces es convertido en una consulta comprensible al datastore subyacente (ej. en SQL en el caso de una base de datos relacional). Las entidades pueden utilizar sus relaciones, y sus cambios enviados de regreso al datastore.
ADO.NET Data Services
También conocido como WCF Data Services, su nombre clave es "Astoria".
Es una plataforma para que Microsoft llame a los servicios de datos, es una combinación del tiempo de ejecución y un servicio web a través del cual los servicios se exponen. Además, también incluye el Data Services Toolkit que permite a Astoria Data Services crearse desde dentro de ASP.NET. El proyecto fue anunciado en Astoria MIX 2007, y la primera vista previa para desarrolladores se puso a disposición el 30 de abril de 2007. El CTP primero se hizo disponible como parte de la ASP.NET 3.5 Vista previa de extensiones. El cambio de nombre de ADO.NET Data Services para WCF Data Services se anunció en el 2009.
·         EJEMPLOS
Ejemplos del proveedor de datos ADO.NET
En los listados de código siguientes se muestra cómo recuperar datos de una base de datos usando proveedores de datos ADO.NET. Los datos se devuelven en DataReader. Para obtener más información, consulte recuperar datos mediante DataReader.
SqlClient
En el código de este ejemplo se supone que puede conectarse a la base de datos de ejemplo Northwind en Microsoft SQL Server. El código crea un SqlCommand para seleccionar las filas de la tabla Products, agregar un SqlParameter para restringir los resultados a las filas con un UnitPrice mayor que el valor de parámetro especificado, en este caso 5. El SqlConnection se abre dentro de un using bloque, lo que garantiza que los recursos se cierran y se eliminan cuando el código sale. El código ejecuta el comando mediante una SqlDataReadery muestra los resultados en la ventana de consola.
DataWorks SampleApp.SqlClient#1](../CodeSnippet/VS_Snippets_ADO.NET/DataWorks SampleApp.SqlClient#1)]
OleDb
En el código de este ejemplo se asume que puede conectarse a la base de datos de ejemplo Northwind de Microsoft Access. El código crea un OleDbCommand para seleccionar las filas de la tabla Products, agregar un OleDbParameter para restringir los resultados a las filas con un UnitPrice mayor que el valor de parámetro especificado, en este caso 5. El OleDbConnection se abre dentro de un using bloque, lo que garantiza que los recursos se cierran y se eliminan cuando el código sale. El código ejecuta el comando mediante una OleDbDataReadery muestra los resultados en la ventana de consola.
DataWorks SampleApp.OleDb#1](../CodeSnippet/VS_Snippets_ADO.NET/DataWorks SampleApp.OleDb#1)]
Odbc
En el código de este ejemplo se asume que puede conectarse a la base de datos de ejemplo Northwind de Microsoft Access. El código crea un OdbcCommand para seleccionar las filas de la tabla Products, agregar un OdbcParameter para restringir los resultados a las filas con un UnitPrice mayor que el valor de parámetro especificado, en este caso 5. El OdbcConnection se abre dentro de un using bloque, lo que garantiza que los recursos se cierran y se eliminan cuando el código sale. La ejecuta el comando mediante una OdbcDataReadery muestra los resultados en la ventana de consola.

OracleClient

En el código de este ejemplo se presupone una conexión a DEMO.CUSTOMER en un servidor Oracle. También debe agregarse una referencia a System.Data.OracleClient.dll. El código devuelve los datos en un OracleDataReader.
[DataWorks SampleApp.Oracle#1](../CodeSnippet/VS_Snippets_ADO.NET/DataWorks SampleApp.Oracle#1)]
·         RESUMEN
Contenido
·         DEFINICION
ADO.NET es un conjunto de clases que exponen servicios de acceso a datos para programadores de .NET Framework. ADO.NET ofrece abundancia de componentes para la creación de aplicaciones de uso compartido de datos distribuidas. Constituye una parte integral de .NET Framework y proporciona acceso a datos relacionales, XML y de aplicaciones. ADO.NET satisface diversas necesidades de desarrollo, como la creación de clientes de base de datos front-end y objetos empresariales de nivel medio que utilizan aplicaciones, herramientas, lenguajes o exploradores de Internet. ADO.NET es un conjunto de clases que exponen servicios de acceso a datos para programadores de .NET Framework.
·         ARQUITECTURA DE ADO.NET
ADO.NET consiste en dos partes primarias:
Data provider
Estas clases proporcionan el acceso a una fuente de datos, como Microsoft SQL Server y Oracle. Cada fuente de datos tiene su propio conjunto de objetos del proveedor, pero cada uno tiene un conjunto común de clases de utilidad:
Connection: Proporciona una conexión usada para comunicarse con la fuente de datos.
Command: Usado para realizar alguna acción en la fuente de datos, como lectura, actualización, o borrado de datos relacionales.
Parameter: Describe un simple parámetro para un command.
DataAdapter: "Puente" utilizado para transferir data entre una fuente de datos y un objeto DataSet (ver abajo).
DataReader: Es una clase usada para procesar eficientemente una lista grande de resultados, un registro a la vez.
DataSets
Los objetos DataSets, son un grupo de clases que describen una simple base de datos relacional en memoria, fueron la estrella del show en el lanzamiento inicial (1.0) del Microsoft .NET Framework.
DATASET
Jerarquía de herencia
System.Object
  
System.ComponentModel.MarshalByValueComponent
    System.Data.DataSet
Sintaxis
public class DataSet : MarshalByValueComponent, IListSource,
            IXmlSerializable, ISupportInitializeNotification, ISupportInitialize,
            ISerializable
Constructores
Nombre
Descripción
System_CAPS_pubmethod
Inicializa una nueva instancia de la clase DataSet.
System_CAPS_protmethod
Esta API admite la infraestructura producto y no está diseñada para usarse directamente desde el código. Inicializa una nueva instancia de un DataSet clase que tiene la información de serialización especificado y el contexto.

Propiedades
Nombre
Descripción
System_CAPS_pubproperty
Obtiene o establece un valor que indica si comparaciones dentro de cadenas DataTable objetos distinguen mayúsculas de minúsculas.
System_CAPS_pubproperty
Obtiene el contenedor del componente.(Heredado de MarshalByValueComponent).
System_CAPS_pubproperty
Obtiene o establece el nombre del actual DataSet.
System_CAPS_pubproperty
Obtiene una vista personalizada de los datos contenidos en el DataSet para permitir filtrar, buscar y desplazarse mediante un personalizado DataViewManager.

Métodos
Nombre
Descripción
System_CAPS_pubmethod
Confirma todos los cambios realizados en esta DataSet desde que se cargó o desde la última vez AcceptChanges se llamó.
System_CAPS_pubmethod
Activa la inicialización de un objeto DataSet que se emplea en un formulario o que utiliza otro componente. La inicialización se produce en tiempo de ejecución.
System_CAPS_pubmethod
Borra la DataSet de los datos mediante la eliminación de todas las filas de todas las tablas.
System_CAPS_pubmethod
Copia la estructura de la DataSet, todas las incluidas DataTable esquemas, relaciones y restricciones. No copia los datos.

Lee el esquema XML y los datos del DataSet usando el objeto System.IO.Stream.
Lee el esquema XML y datos en la DataSet con System.IO.Stream y XmlReadMode.
Lee el esquema XML y los datos del DataSet utilizando el archivo especificado.
Lee el esquema XML y los datos del DataSet utilizando el archivo especificado y XmlReadMode.

Eventos
Nombre
Descripción
System_CAPS_pubevent
Agrega un controlador de eventos para escuchar el Disposed evento en el componente.(Heredado de MarshalByValueComponent).
System_CAPS_pubevent
Se produce después de la DataSet se inicializa.

Implementaciones de interfaz explícitas
Nombre
Descripción
System_CAPS_pubinterfaceSystem_CAPS_privmethod
Para una descripción de este miembro, vea IListSource.GetList.
System_CAPS_pubinterfaceSystem_CAPS_privmethod
Para una descripción de este miembro, vea IXmlSerializable.GetSchema.
System_CAPS_pubinterfaceSystem_CAPS_privmethod
Para una descripción de este miembro, vea IXmlSerializable.ReadXml.

·         CLASES DE ADO.NET
ADO.NET y Visual Studio .NET
En el IDE Visual Studio .NET existe la funcionalidad para crear las subclases especializadas de las clases del DataSet para un esquema particular de base de datos, permitiendo el acceso conveniente a cada campo a través de propiedades fuertemente tipadas.
ADO.NET Entity Framework
El ADO.NET Entity Framework es un conjunto de APIs de acceso a datos para el Microsoft .NET Framework, apuntando a la versión de ADO.NET que se incluye con el .NET Framework 3.5. Fue lanzado como actualización separada junto con el Service Pack 1 para el .NET Framework
ADO.NET Data Services
También conocido como WCF Data Services, su nombre clave es "Astoria".
Es una plataforma para que Microsoft llame a los servicios de datos, es una combinación del tiempo de ejecución y un servicio web a través del cual los servicios se exponen. Además, también incluye el Data Services Toolkit que permite a Astoria Data Services crearse desde dentro de ASP.NET
·         EJEMPLOS
Ejemplos del proveedor de datos ADO.NET
En los listados de código siguientes se muestra cómo recuperar datos de una base de datos usando proveedores de datos ADO.NET. Los datos se devuelven en DataReader. Para obtener más información, consulte recuperar datos mediante DataReader.
SqlClient
En el código de este ejemplo se supone que puede conectarse a la base de datos de ejemplo Northwind en Microsoft SQL Server. El código crea un SqlCommand para seleccionar las filas de la tabla Products
DataWorks SampleApp.SqlClient#1](../CodeSnippet/VS_Snippets_ADO.NET/DataWorks SampleApp.SqlClient#1)]
OleDb
En el código de este ejemplo se asume que puede conectarse a la base de datos de ejemplo Northwind de Microsoft Access. El código crea un OleDbCommand para seleccionar las filas de la tabla Products
Odbc
En el código de este ejemplo se asume que puede conectarse a la base de datos de ejemplo Northwind de Microsoft Access. El código crea un OdbcCommand para seleccionar las filas de la tabla Products
·         SUMMARY
Content
• DEFINITION
ADO.NET is a set of classes that expose data access services for .NET Framework programmers. ADO.NET offers an abundance of components for creating distributed data sharing applications. It is an integral part of the .NET Framework and provides access to relational, XML, and application data. ADO.NET meets a variety of development needs, such as creating front-end database clients and mid-level business objects that use applications, tools, languages, or Internet browsers. ADO.NET is a set of classes that expose data access services for .NET Framework programmers.
• ADO.NET ARCHITECTURE
ADO.NET consists of two primary parts:
Data provider
These classes provide access to a data source, such as Microsoft SQL Server and Oracle. Each data source has its own set of provider objects, but each has a common set of utility classes:
Connection: Provides a connection used to communicate with the data source.
Command: Used to perform some action on the data source, such as reading, updating, or deleting relational data.
Parameter: Describes a simple parameter for a command.
DataAdapter: "Bridge" used to transfer data between a data source and a DataSet object (see below).
DataReader: A class used to efficiently process a large list of results, one record at a time.
DataSets
DataSets objects, a group of classes that describe a simple relational database in memory, were the star of the show at the initial launch (1.0) of the Microsoft .NET Framework.
DATASET
Hierarchy of inheritance
System.Object
System.ComponentModel.MarshalByValueComponent
System.Data.DataSet
Syntax
public class DataSet: MarshalByValueComponent, IListSource,
IXmlSerializable, ISupportInitializeNotification, ISupportInitialize,
ISerializable
Real estate management
Name Description
 DataSet ()
Initializes a new instance of the DataSet class.
 DataSet (SerializationInfo, StreamingContext)
This API supports the product infrastructure and is not designed to be used directly from the code. Initializes a new instance of a DataSet class that has the specified serialization information and context.

Properties
Name Description
 CaseSensitive
Gets or sets a value that indicates whether comparisons within strings in DataTable objects are case sensitive.
 Container
Gets the component container (inherited from MarshalByValueComponent).

 DataSetName
Gets or sets the name of the current DataSet.
 DefaultViewManager
Gets a custom view of the data contained in the DataSet to allow filtering, searching, and scrolling through a custom DataViewManager.


Methods
Name Description
 AcceptChanges ()
Confirms any changes made to this DataSet since it was loaded or from the last time AcceptChanges was called.

 BeginInit ()
Enables the initialization of a DataSet object that is used in a form or that uses another component. Initialization occurs at runtime.
 Clear ()
Deletes the DataSet from the data by removing all rows from all tables.
 Clone ()
Copies the structure of the DataSet, including all DataTable schemas, relationships, and constraints. Does not copy data.

ReadXml (Stream)
Reads the XML schema and DataSet data using the System.IO.Stream object.

ReadXml (Stream, XmlReadMode)
Reads the XML schema and data in the DataSet with System.IO.Stream and XmlReadMode.

ReadXml (String)
Reads the XML schema and DataSet data using the specified file.
ReadXml (String, XmlReadMode)
Reads the XML schema and DataSet data using the specified file and XmlReadMode.


Events
Name Description
 Disposed
Adds an event handler to listen to the Disposed event in the component. (Inherited from MarshalByValueComponent).

 Initialized
Occurs after the DataSet is initialized.

Explicit interface implementations
Name Description
  IListSource.GetList ()
For a description of this member, see IListSource.GetList.

  IXmlSerializable.GetSchema ()
For a description of this member, see IXmlSerializable.GetSchema.

  IXmlSerializable.ReadXml (XmlReader)
For a description of this member, see IXmlSerializable.ReadXml.


• ADO.NET CLASSES
ADO.NET and Visual Studio .NET
In Visual Studio .NET IDE there is the functionality to create the specialized subclasses of the DataSet classes for a particular database schema, allowing convenient access to each field through strongly typed properties.
ADO.NET Entity Framework
The ADO.NET Entity Framework is a set of data access APIs for the Microsoft .NET Framework, targeting the version of ADO.NET that ships with the .NET Framework 3.5. It was released as update s

·         RECOMENDACIONES
ü  En ADO.NET se supone que hay un modelo de acceso a datos en el que se puede abrir una conexión, obtener datos o realizar una operación y cerrar luego la conexión.
ü  ADO.NET proporciona dos estrategias básicas de trabajo con este modelo. Una de ellas consiste en almacenar datos en un conjunto de datos, que es una caché almacenada en memoria de los registros con los que se puede trabajar mientras se está desconectado del origen de datos. • Para usar un conjunto de datos, se crea una instancia del mismo y, a continuación, se usa un adaptador de datos para rellenarlo desde el origen de datos. Posteriormente, se trabaja con los datos del conjunto de datos, por ejemplo, enlazando controles con los miembros de dicho conjunto. Para obtener más información, vea Información general sobre conjuntos de datos en Visual Studio.
• Una estrategia alternativa consiste en realizar operaciones directamente en la base de datos. En este modelo, se usa una consulta de TableAdapter o un comando de datos que incluye una instrucción SQL o una referencia a un procedimiento almacenado. A continuación, se puede ejecutar la consulta para realizar la operación. Para obtener más información, vea Buscar datos en la aplicación.
·         CONCLUSIONES
ü  ADO .NET ha permitido que el almacenaje y recuperación de información en bases de datos ACCESS sea sencillo, de forma que se pueda acceder a esta información previamente guardada sin necesidad de ejecutar la aplicación.
ü ADO .NET está diseñado para fundamentarse en la fuerza del modelo de programación de ADO, mientras que provee una evolución en la tecnología de acceso a datos para responder a las necesidades cambiantes del desarrollador.
ü  Está diseñado para fortalecer tus conocimientos de ADO, mientras que provee un control más fino sobre los componentes, recursos y comportamiento de tu aplicación cuando accede y trabaja con datos. Las aplicaciones de desarrollo hoy, ya es normal que se conectará a una base de datos, ejemplos comerciales que tenemos en nuestras narices, especialmente en internet (Google, Facebook, correo electrónico, etc.), usan la base de datos de gran volumen.
ü  ADO.NET, es una base de datos versátil y eficiente de la tecnología de acceso a gerente. NET, que facilitan y maximizar el desarrollo de aplicaciones con acceso a bases de mucho más rápidamente y con mejor rendimiento.
·         APRECIACIÒN DEL EQUIPO
ü  Proporciona acceso coherente a orígenes de datos como SQL Server y XML, así como a orígenes de datos expuestos mediante OLE DB y ODBC. Las aplicaciones de consumidor que comparten datos pueden utilizar ADO.NET para conectar a estos orígenes de datos y recuperar, controlar y actualizar los datos contenidos.
ü  ADO.NET separa el acceso de la manipulacion de los datos en componentes discretos que se pueden utilizar por separado o conjuntamente.
ü  ADO.NET incluye proveedores de datos .
ü  NET Framework para conectarse a una base de datos, ejecutar comandos y recuperar resultados. Los resultados, o bien, se procesan directamente, o bien, se colocan en un objeto DataSet de ADO.NET con el fin de exponerlos al usuario para un propósito específico, combinados con datos de varios orígenes, o de pasarlos entre niveles.
ü  El objeto DataSet de ADO.NET también puede utilizarse independientemente de un proveedor de datos .NET Framework para administrar datos que son locales de la aplicación o que proceden de un origen XML.
·         GLOSARIO DE TÉRMINOS:
Framework: Marco de referencia.
Provider: proveedor.
DataSet: conjunto de datos.
Container: envase.
AcceptChanges: Aceptar Cambios

·         BIBLIOGRAFÍA O LINKOGRAFÍA


No hay comentarios:

Publicar un comentario