Trabajo con datos en Visual Studio

En Visual Studio, puede crear aplicaciones que se conecten a los datos de prácticamente cualquier producto o servicio de base de datos, en cualquier formato y en cualquier lugar: máquinas locales, redes de área local o nubes públicas, privadas o híbridas.

En el caso de las aplicaciones de JavaScript, Python, PHP, Ruby o C++, se conecta a los datos como lo hace con cualquier otra cosa, mediante la obtención de bibliotecas y la escritura de código. Para las aplicaciones .NET, Visual Studio proporciona herramientas que puede usar para explorar orígenes de datos, crear modelos de objetos para almacenar y manipular datos en memoria y enlazar datos a la interfaz de usuario. Microsoft Azure proporciona SDK para .NET, Java, Node.js, PHP, Python, Ruby y aplicaciones móviles, así como herramientas de Visual Studio para conectarse a Azure Storage.

En las listas siguientes se muestran solo algunos de los muchos sistemas de almacenamiento y de base de datos que se pueden usar desde Visual Studio. Las ofertas de Microsoft Azure son servicios de datos que incluyen todo el aprovisionamiento y la administración del almacén de datos subyacente. La carga de trabajo del desarrollo de Azure en Visual Studio permite trabajar con almacenes de datos de Azure directamente desde Visual Studio.

Carga de trabajo Desarrollo de Azure

La mayoría de los otros productos de base de datos SQL y NoSQL que se enumeran aquí se pueden hospedar en una máquina local, en una red local o en Microsoft Azure en una máquina virtual. Si hospeda la base de datos en una máquina virtual de Microsoft Azure, usted es responsable de administrar la propia base de datos.

Microsoft Azure

  • SQL Database
  • Azure Cosmos DB
  • Almacenamiento (blobs, tablas, colas y archivos)
  • SQL Data Warehouse
  • SQL Server Stretch Database
  • StorSimple
  • Y mucho más.

SQL

  • SQL Server 2005-2016 (incluye Express y LocalDB)
  • Firebird
  • MariaDB
  • MySQL
  • Oracle
  • PostgreSQL
  • SQLite
  • Y mucho más.

NoSQL

  • Apache Cassandra
  • CouchDB
  • MongoDB
  • NDatabase
  • OrientDB|
  • RavenDB
  • VelocityDB
  • Y mucho más.

Muchos proveedores de bases de datos y terceros admiten la integración de Visual Studio mediante paquetes NuGet. Puede explorar las ofertas de nuget.org o a través del administrador de paquetes NuGet en Visual Studio (Herramientas>Administrador de paquetes NuGet>Administrar paquetes NuGet para la solución). Otros productos de base de datos se integran con Visual Studio como extensión. Puede examinar estas ofertas en Visual Studio Marketplace o yendo a Extensiones> Administrar extensiones y, a continuación, seleccionando En línea en el panel izquierdo del cuadro de diálogo. Para más información, vea Sistemas de bases de datos compatibles para Visual Studio.

Mediante el uso de Servicios conectados de Visual Studio, puede simplificar el proceso de agregar compatibilidad con la base de datos a los proyectos.

Para escenarios de SQL Server que admitimos a través de Servicios conectados:

  • SQL Server local. En este escenario, instalará SQL Server en algún lugar de la red local y se conectará a él.
  • SQL Server en la máquina local. En este escenario, instalará SQL Server en la máquina local y se conectará a ella.
  • SQL Server Express LocalDB. No se instala nada que no sea Visual Studio; solo se conecta a él.
  • SQL Server Express LocalDB en el contenedor. LocalDB como en la opción anterior, pero dentro de un contenedor local.
  • DB de Azure SQL Server. Conéctese al servicio que se ejecuta en vivo en Azure.

Para otras tecnologías relacionadas con los datos, Visual Studio 2022 admite lo siguiente:

  • Azure Storage (tanto local como remoto)
  • Azure Cosmos DB (tanto local como remoto)
  • SQLite (opción solo local)
  • PostgreSQL en contenedor (opción solo local)
  • MongoDB en contenedor (opción solo local)

Aparte de Servicios conectados, en las listas siguientes se muestran solo algunos de los muchos sistemas de almacenamiento y de base de datos que se pueden usar desde Visual Studio. Las ofertas de Microsoft Azure son servicios de datos que incluyen todo el aprovisionamiento y la administración del almacén de datos subyacente. La carga de trabajo del desarrollo de Azure en Visual Studio permite trabajar con almacenes de datos de Azure directamente desde Visual Studio.

Carga de trabajo Desarrollo de Azure

La mayoría de los otros productos de base de datos SQL y NoSQL que se enumeran aquí se pueden hospedar en una máquina local, en una red local o en Microsoft Azure en una máquina virtual. Si hospeda la base de datos en una máquina virtual de Microsoft Azure, usted es responsable de administrar la propia base de datos.

Microsoft Azure

  • SQL Data Warehouse
  • SQL Server Stretch Database
  • StorSimple
  • Y mucho más.

SQL

  • Firebird
  • MariaDB
  • MySQL
  • Oracle
  • Y mucho más.

NoSQL

  • Apache Cassandra
  • CouchDB
  • MongoDB
  • NDatabase
  • OrientDB|
  • RavenDB
  • VelocityDB
  • Y mucho más.

Nota

El soporte extendido de SQL Server 2005 finalizó el 12 de abril de 2016. No hay ninguna garantía de que las herramientas de datos de Visual Studio 2015 y versiones posteriores sigan funcionando con SQL Server 2005. Para más información, consulte el anuncio de fin de soporte técnico para SQL Server 2005.

Lenguajes .NET

La tecnología de acceso a datos descrita en la documentación de Visual Studio usa ADO.NET. ADO.NET es un marco de acceso a datos heredado y no se recomienda para las aplicaciones de datos modernas. Se recomienda tener como destino .NET Core o .NET 5 y versiones posteriores y usar Entity Framework Core para el desarrollo de acceso a datos.

ADO.NET es un conjunto de clases que define una interfaz para acceder a cualquier tipo de origen de datos, tanto relacionales como no relacionales. Visual Studio tiene varias herramientas y diseñadores que funcionan con ADO.NET para ayudarle a conectarse a bases de datos, manipular los datos y presentar los datos al usuario. En la documentación de esta sección se describe cómo usar esas herramientas. También puede programar directamente en los objetos de comando de ADO.NET. Para más información sobre cómo llamar directamente a las API de ADO.NET, consulte ADO.NET.

Para obtener documentación de acceso a datos relacionada con ASP.NET, consulte Trabajo con datos en el sitio de ASP.NET. Para ver un tutorial sobre el uso de Entity Framework con ASP.NET Model-View-Controller (MVC), consulte Introducción a Entity Framework 6 Code First con MVC 5.

Aplicaciones de Plataforma universal de Windows (UWP) en C# o Visual Basic pueden usar Microsoft Azure SDK para .NET para acceder a Azure Storage y a otros servicios de Azure. La clase Windows.Web.HttpClient permite la comunicación con cualquier servicio RESTful. Para más información, consulte Cómo conectar a un servidor HTTP mediante Windows.Web.Http (HTML).

Para el almacenamiento de datos en el equipo local, el enfoque recomendado es usar SQLite, que se ejecuta en el mismo proceso que la aplicación. Si se requiere una capa de asignación relacional de objetos (ORM), puede usar Entity Framework. Para más información, consulte Acceso a datos en el Centro para desarrolladores de Windows.

Si se conecta a los servicios de Azure, asegúrese de descargar las herramientas del SDK de Azure más recientes.

Proveedores de datos

Para que una base de datos se pueda consumir en ADO.NET, debe tener un proveedor de datos ADO.NET personalizado o, de lo contrario, debe exponer una interfaz ODBC u OLE DB. Microsoft proporciona una lista de proveedores de datos ADO.NET para productos SQL Server, así como proveedores ODBC y OLE DB.

Nota

Si usa Visual Studio para conectarse a bases de datos que usan proveedores de datos OLEDB u ODBC, deberá tener en cuenta que las versiones de Visual Studio anteriores a Visual Studio 2022 son todas procesos de 32 bits. Esto significa que algunas de las herramientas de datos de Visual Studio solo podrán conectarse a las bases de datos OLEDB u ODBC mediante proveedores de datos de 32 bits. Esto incluye el proveedor de datos OLEDB de 32 bits de Microsoft Access, así como otros proveedores de 32 bits de terceros.

Si usa Visual Studio 2022 para conectarse a bases de datos, deberá tener en cuenta que Visual Studio 2022 es ahora un proceso de 64 bits. Esto significa que algunas de las herramientas de datos de Visual Studio no podrán conectarse a las bases de datos OLEDB u ODBC mediante proveedores de datos de 32 bits.

Si necesita mantener aplicaciones de 32 bits que se conectan a bases de datos OLEDB u ODBC, podrá compilar y ejecutar la aplicación con Visual Studio 2022. Sin embargo, si necesita usar cualquiera de las herramientas de datos de Visual Studio, como el Explorador de servidores, el Asistente para orígenes de datos o el Diseñador de DataSet, deberá usar una versión anterior de Visual Studio que siga siendo un proceso de 32 bits. La última versión de Visual Studio como proceso de 32 bits fue Visual Studio 2019.

Si tiene previsto convertir el proyecto en un proceso de 64 bits, se recomienda utilizar el motor de base de datos de Microsoft Access de 64 bits, también llamado motor de conectividad de Access (ACE). Consulte Proveedor OLE DB para Jet y el controlador ODBC solo están disponibles en versiones de 32 bits para más información.

Modelado de datos

En .NET, tiene tres opciones para modelar y manipular datos en la memoria después de recuperarlos de un origen de datos:

Entity Framework La tecnología ORM preferida de Microsoft. Puede usarla para programar con datos relacionales como objetos .NET de primera clase. Para las nuevas aplicaciones, debe ser la primera opción predeterminada cuando se requiere un modelo. Requiere compatibilidad personalizada con el proveedor de ADO.NET subyacente.

LINQ to SQL Un asignador relacional de objetos de generación anterior. Funciona bien para escenarios menos complejos, pero ya no está en desarrollo activo.

Conjuntos de datos La más antigua de las tres tecnologías de modelado. Está diseñada principalmente para el desarrollo rápido de aplicaciones de "formularios sobre datos" en las que no procesa grandes cantidades de datos ni realiza consultas o transformaciones complejas. Un objeto DataSet consta de objetos DataTable y DataRow que se asemejan lógicamente a objetos de base de datos SQL mucho más que los objetos .NET. En el caso de aplicaciones relativamente sencillas basadas en orígenes de datos SQL, es posible que los conjuntos de datos sigan siendo una buena opción.

No es necesario usar ninguna de estas tecnologías. En algunos escenarios, especialmente cuando el rendimiento es crítico, simplemente puede usar un objeto DataReader para leer de la base de datos y copiar los valores que necesita en un objeto de colección, como List<T>.

C++ nativo

Las aplicaciones de C++ que se conectan a SQL Server deben usar Microsoft® ODBC Driver 13.1 para SQL Server en la mayoría de los casos. Si los servidores están vinculados, entonces OLE DB es necesario y para eso usa SQL Server Native Client. Puede acceder a otras bases de datos mediante controladores ODBC u OLE DB directamente. ODBC es la interfaz de base de datos estándar actual, pero la mayoría de los sistemas de base de datos proporcionan funcionalidad personalizada a la que no se puede acceder a través de la interfaz ODBC. OLE DB es una tecnología heredada de acceso a datos COM que todavía se admite, pero no se recomienda para las nuevas aplicaciones. Para obtener más información, vea Acceso a datos en Visual C++.

Los programas de C++ que consumen servicios REST pueden usar el SDK REST de C++.

Los programas de C++ que funcionan con Microsoft Azure Storage pueden usar el cliente de Microsoft Azure Storage.

Modelado de datos: Visual Studio no proporciona una capa ORM para C++. ODB es un ORM de código abierto popular para C++.

Para más información sobre cómo conectarse a bases de datos desde aplicaciones de C++, consulte Herramientas de datos de Visual Studio para C++. Para más información sobre las tecnologías heredadas de acceso a datos de Visual C++, consulte Acceso a datos.

JavaScript

JavaScript en Visual Studio es un lenguaje de primera clase para compilar aplicaciones multiplataforma, aplicaciones para UWP, servicios en la nube, sitios web y aplicaciones web. Puede usar Bower, Grunt, Gulp, npm y NuGet desde Visual Studio para instalar sus bibliotecas y productos de base de datos de JavaScript favoritos. Conéctese a Azure Storage y a los servicios de Azure; para ello, descargue los SDK desde el sitio web de Azure. Edge.js es una biblioteca que conecta JavaScript (Node.js) del lado servidor a orígenes de datos de ADO.NET.

Python

Instale la compatibilidad con Python en Visual Studio para crear aplicaciones de Python. La documentación de Azure tiene varios tutoriales sobre cómo conectarse a los datos, entre los que se incluyen los siguientes:

Plataforma de IA de Microsoft: proporciona una introducción a la nube inteligente de Microsoft, incluido Cortana Analytics Suite y compatibilidad con Internet de las cosas.

Microsoft Azure Storage: describe Azure Storage y cómo crear aplicaciones con blobs, tablas, colas y archivos de Azure.

Azure SQL Database: describe cómo conectarse a Azure SQL Database, una base de datos relacional como servicio.

SQL Server Data Tools: describe las herramientas que simplifican el diseño, la exploración, las pruebas y la implementación de aplicaciones y bases de datos conectadas a datos.

ADO.NET: describe la arquitectura de ADO.NET y cómo usar las clases de ADO.NET para administrar los datos de aplicación e interactuar con orígenes de datos y XML.

ADO.NET Entity Framework: describe cómo crear aplicaciones de datos que permiten a los desarrolladores programar con un modelo conceptual, en lugar de hacerlo directamente en una base de datos relacional.

WCF Data Services 4.5: describe cómo usar WCF Data Services para implementar servicios de datos en la Web o en una intranet que implemente Open Data Protocol (OData).

Datos en soluciones de Office: contiene vínculos a temas que explican cómo funcionan los datos en soluciones de Office. Se incluye información sobre la programación orientada a esquema, el almacenamiento de datos en caché y el acceso a datos en el servidor.

LINQ (Language-Integrated Query): describe las funciones de consulta integradas en C# y Visual Basic, así como el modelo común para consultar bases de datos relacionales, documentos XML, conjuntos de datos y colecciones en memoria.

Herramientas XML en Visual Studio: describe el trabajo con datos XML, la depuración de XSLT, las características XML de .NET y la arquitectura de la consulta XML.

Documentos y datos XML: proporciona información general sobre un conjunto completo e integrado de clases que funcionan con documentos XML y datos en .NET.