Trabajar con datos en Visual Studio
En Visual Studio, puede crear aplicaciones que se conecten a datos en prácticamente cualquier producto o servicio de base de datos, en cualquier formato, en cualquier lugar, en una máquina local, en una red de área local o en una nube pública, privada o híbrida.
En el caso de las aplicaciones de JavaScript, Python, PHP, Ruby o C++, se conecta a datos como cualquier otra cosa, obteniendo bibliotecas y escribiendo código. En el caso de 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, y herramientas de Visual Studio para conectarse a Azure Storage.
En las listas siguientes se muestran solo algunos de los muchos sistemas de almacenamiento y 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 almacenamiento de datos subyacente. La carga de trabajo de desarrollo para Azure en Visual Studio le permite trabajar con almacenes de datos de Azure directamente desde Visual Studio.
La mayoría de los demás 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, es responsable de administrar la propia base de datos.
Microsoft Azure
- Base de Datos SQL
- Azure Cosmos DB
- Almacenamiento (blobs, tablas, colas y archivos)
- SQL Data Warehouse
- SQL Server Stretch Database
- StorSimple
- Y más...
SQL
- SQL Server 2005-2016 (incluye Express y LocalDB)
- Firebird
- MariaDB
- MySQL
- Oráculo
- PostgreSQL
- SQLite
- Y más...
NoSQL
- Apache Cassandra
- CouchDB
- MongoDB
- NDatabase
- OrientDB|
- RavenDB
- VelocityDB
- Y más...
Muchos proveedores de bases de datos y terceros admiten la integración de Visual Studio mediante paquetes NuGet. Puede explorar las ofertas en nuget.org o a través del Administrador de paquetes NuGet en Visual Studio (Tools>Administrador de paquetes NuGet>Administrar paquetes NuGet para la solución). Otros productos de base de datos se integran con Visual Studio como una 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 obtener más información, vea sistemas de bases de datos compatibles para Visual Studio.
Mediante Servicios Conectados de Visual Studio, puede simplificar el proceso de agregar soporte para bases de datos a sus proyectos.
Para escenarios de SQL Server, ofrecemos soporte mediante Servicios Conectados.
- SQL Server en las instalaciones. En este escenario, instalarás SQL Server en algún lugar de la red local y te conectarás.
- SQL Server en el equipo local. En este escenario, instalará SQL Server en el equipo local y se conectará a él.
- SQL Server Express LocalDB. No instala nada distinto de Visual Studio; sólo te conectas a él.
- SQL Server Express LocalDB en el contenedor. LocalDB como en la opción anterior, pero dentro de un contenedor local.
- Base de datos 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 el contenedor (opción solo local)
- MongoDB en el contenedor (opción solo local)
Aparte de los servicios conectados, en las listas siguientes se muestran solo algunos de los muchos sistemas de almacenamiento y 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 almacenamiento 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.
La mayoría de los demás 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, es responsable de administrar la propia base de datos.
Microsoft Azure
- SQL Data Warehouse
- SQL Server Stretch Database
- StorSimple
- Y más...
SQL
- Firebird
- MariaDB
- MySQL
- Oráculo
- Y más...
NoSQL
- Apache Cassandra
- CouchDB
- MongoDB
- NDatabase
- OrientDB|
- RavenDB
- VelocityDB
- Y más...
Nota
La compatibilidad ampliada con 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 seguirán funcionando con 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 relacional como no relacional. 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 contra los objetos de comando ADO.NET. Para obtener 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 Trabajar 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 mediante MVC 5.
Las aplicaciones de la Plataforma universal de Windows (UWP) en C# o Visual Basic pueden usar el SDK de Microsoft Azure para .NET para acceder a Azure Storage y otros servicios de Azure. La clase Windows.Web.HttpClient permite la comunicación con cualquier servicio RESTful. Para obtener más información, consulte Cómo conectarse a un servidor HTTP mediante Windows.Web.Http.
Para el almacenamiento de datos en la máquina 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, vea Acceso a datos.
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 sea consumible en ADO.NET, debe tener un proveedor de datos de ADO.NET personalizado o, de lo contrario, debe exponer una interfaz ODBC o OLE DB. Microsoft proporciona una lista de proveedores de datos de ADO.NET para productos de SQL Server, así como proveedores ODBC y OLE DB.
Nota
Si usa Visual Studio para conectarse a bases de datos mediante proveedores de datos OLEDB o ODBC, debe tener en cuenta que las versiones de Visual Studio anteriores a Visual Studio 2022 son todos los procesos de 32 bits. Esto significa que algunas de las herramientas de datos de Visual Studio solo podrán conectarse a bases de datos OLEDB o 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, debe tener en cuenta que Visual Studio 2022 es un proceso de 64 bits. Esto significa que algunas de las herramientas de datos de Visual Studio no podrán conectarse a bases de datos OLEDB o ODBC mediante proveedores de datos de 32 bits.
Si necesita mantener aplicaciones de 32 bits que se conectan a bases de datos OLEDB o 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 conjuntos de datos, deberá usar una versión anterior de Visual Studio que sigue siendo un proceso de 32 bits. La última versión de Visual Studio que era un proceso de 32 bits era Visual Studio 2019.
Si planea 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 conocido como 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 memoria después de recuperarlos de un origen de datos:
Entity Framework: la tecnología ORM preferida de Microsoft. Puede usarlo para trabajar 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 mapeador objeto-relacional de generación anterior. Funciona bien para escenarios menos complejos, pero ya no está en desarrollo activo.
Conjuntos de datos: el más antiguo de las tres tecnologías de modelado. Está diseñado principalmente para el desarrollo rápido de aplicaciones de "formularios sobre datos" en las que no está procesando grandes cantidades de datos o realizando consultas o transformaciones complejas. Un objeto DataSet consta de objetos DataTable y DataRow que se asemejan lógicamente a objetos de SQL Database 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 la Microsoft® ODBC Driver 13.1 para SQL Server en la mayoría de los casos. Si los servidores están vinculados, OLE DB es necesario y para ello se usa la 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 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++ .
Modelado de datos: Visual Studio no proporciona una capa ORM para C++. ODB es un ORM de código abierto popular para C++.
Para obtener 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++.
JavaScript
JavaScript en Visual Studio es un lenguaje de primera clase para crear 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 mediante la descarga de SDK desde el sitio web de Azure . Edge.js es una biblioteca que conecta JavaScript del lado servidor (Node.js) a ADO.NET orígenes de datos.
Pitón
Instalar soporte para Python en Visual Studio para desarrollar aplicaciones en Python. La documentación de Azure tiene varios tutoriales sobre cómo conectarse a datos, entre los que se incluyen los siguientes:
- Django y SQL Database en Azure
- Django y MySQL en Azure
- Trabaje con blobs, archivos, colas y tablas (Cosmo DB).
Contenido relacionado
Microsoft Azure Storage: describe Azure Storage y cómo crear aplicaciones mediante 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 ADO.NET para administrar los datos de la 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 en un modelo conceptual en lugar de directamente en una base de datos relacional.
wcF Data Services 4.5: describe cómo usar los servicios de datos WCF para implementar servicios de datos en la web o una intranet que implemente el Open Data Protocol (OData).
datos en soluciones de Office: contiene vínculos a temas que explican cómo funcionan los datos en las soluciones de Office. Esto incluye información sobre la programación orientada a esquemas, el almacenamiento en caché de datos y el acceso a datos del lado servidor.
LINQ (Language Integrated Query): describe las funcionalidades de consulta integradas en C# y Visual Basic, y el modelo común para consultar bases de datos relacionales, documentos XML, conjuntos de datos y colecciones en memoria.
Herramientas XML de Visual Studio: describe cómo trabajar con datos XML, depurar XSLT, las características de XML en .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 y datos XML en .NET.