Trabalhar com dados no Visual Studio

No Visual Studio, crie aplicativos que se conectam aos dados em praticamente qualquer serviço ou produto de banco de dados, em qualquer formato, em qualquer lugar em um computador local, em uma rede local ou em uma nuvem pública, privada ou híbrida.

Para aplicativos em JavaScript, Python, PHP, Ruby ou C++, conecte-se a dados como se fizesse qualquer outra coisa, obtendo bibliotecas e escrevendo código. Para aplicativos .NET, o Visual Studio fornece ferramentas que você pode usar para explorar fontes de dados, criar modelos de objeto para armazenar e manipular dados na memória e associar dados à interface do usuário. O Microsoft Azure fornece SDKs para .NET, Java, Node.js, PHP, Python, Ruby e aplicativos móveis e ferramentas no Visual Studio para se conectar ao Armazenamento do Azure.

As listas a seguir mostram apenas alguns dos muitos sistemas de armazenamento e banco de dados que podem ser usados no Visual Studio. As ofertas do Microsoft Azure são serviços de dados que incluem todo o provisionamento e a administração do armazenamento de dados subjacente. A carga de trabalho de desenvolvimento do Azure no Visual Studio permite que você trabalhe com armazenamentos de dados do Azure diretamente do Visual Studio.

Carga de trabalho de desenvolvimento do Azure

A maioria dos outros produtos de banco de dados SQL e NoSQL listados aqui pode ser hospedada em um computador local, em uma rede local ou no Microsoft Azure em uma máquina virtual. Se hospedar o banco de dados em uma máquina virtual do Microsoft Azure, você será responsável por gerenciar o próprio banco de dados.

Microsoft Azure

  • Banco de Dados SQL
  • Azure Cosmos DB
  • Armazenamento (blobs, tabelas, filas, arquivos)
  • SQL Data Warehouse
  • SQL Server Stretch Database
  • StorSimple
  • E muito mais…

SQL

  • SQL Server 2005-2016 (inclui Express e LocalDB)
  • Firebird
  • MariaDB
  • MySQL
  • Oracle
  • PostgreSQL
  • SQLite
  • E muito mais…

NoSQL

  • Apache Cassandra
  • CouchDB
  • MongoDB
  • NDatabase
  • OrientDB|
  • RavenDB
  • VelocityDB
  • E muito mais…

Muitos fornecedores de banco de dados e terceiros dão suporte à integração do Visual Studio por pacotes NuGet. É possível explorar as ofertas em nuget.org ou por meio do Gerenciador de Pacotes NuGet no Visual Studio (Ferramentas>Gerenciador de Pacotes NuGet>Gerenciar Pacotes NuGet para Solução). Outros produtos de banco de dados se integram ao Visual Studio como uma extensão. É possível navegar por essas ofertas no Visual Studio Marketplace ou até Extensões>Gerenciar Extensões e selecionar Online no painel esquerdo da caixa de diálogo. Para obter mais informações, consulte Sistemas de banco de dados compatíveis para Visual Studio.

Usando os Serviços conectados do Visual Studio, é possível simplificar o processo de adição de suporte de banco de dados aos seus projetos.

Para cenários de SQL Server, oferecemos suporte por meio dos Serviços Conectados:

  • SQL Server local. Nesse cenário, você instala o SQL Server em algum lugar da rede local e se conecta a ele.
  • SQL Server no seu computador local. Nesse cenário, você instala o SQL Server no computador local e se conecta a ele.
  • LocalDB do SQL Server Express. Não instale nada além do Visual Studio. Apenas se conecte a ele.
  • SQL Server Express LocalDB no Contêiner. LocalDB como na opção anterior, mas dentro de um contêiner local.
  • Azure SQL Server DB. Conecte-se ao serviço em execução no Azure.

Para outras tecnologias relacionadas a dados, o Visual Studio 2022 oferece suporte a:

  • Armazenamento do Azure (local e remoto)
  • Azure Cosmos DB (local e remoto)
  • SQLite (opção somente local)
  • PostgreSQL no contêiner (opção somente local)
  • MongoDB no contêiner (opção somente local)

Diferente dos Serviços Conectados, as listas a seguir mostram apenas alguns dos muitos sistemas de armazenamento e banco de dados que podem ser usados no Visual Studio. As ofertas do Microsoft Azure são serviços de dados que incluem todo o provisionamento e a administração do armazenamento de dados subjacente. A carga de trabalho de desenvolvimento do Azure no Visual Studio permite que você trabalhe com armazenamentos de dados do Azure diretamente do Visual Studio.

Carga de trabalho de desenvolvimento do Azure

A maioria dos outros produtos de banco de dados SQL e NoSQL listados aqui pode ser hospedada em um computador local, em uma rede local ou no Microsoft Azure em uma máquina virtual. Se hospedar o banco de dados em uma máquina virtual do Microsoft Azure, você será responsável por gerenciar o próprio banco de dados.

Microsoft Azure

  • SQL Data Warehouse
  • SQL Server Stretch Database
  • StorSimple
  • E muito mais…

SQL

  • Firebird
  • MariaDB
  • MySQL
  • Oracle
  • E muito mais…

NoSQL

  • Apache Cassandra
  • CouchDB
  • MongoDB
  • NDatabase
  • OrientDB|
  • RavenDB
  • VelocityDB
  • E muito mais…

Observação

O suporte estendido para o SQL Server 2005 terminou em 12 de abril de 2016. Não há garantia de que as ferramentas de dados no Visual Studio 2015 e posterior continuarão a funcionar com SQL Server 2005. Para obter mais informações, consulte o Anúncio de fim do suporte para SQL Server 2005.

Linguagens .NET

A tecnologia de acesso a dados descrita na documentação do Visual Studio usa ADO.NET. ADO.NET é uma estrutura de acesso a dados herdada que não é recomendada para aplicativos de dados modernos. Recomenda-se utilizar o .NET Core ou o .NET 5 e versões mais recentes, além do Entity Framework Core, para o desenvolvimento de acesso a dados.

O ADO.NET é um conjunto de classes que define uma interface para acessar qualquer tipo de fonte de dados, seja relacional ou não relacional. O Visual Studio tem várias ferramentas e designers que trabalham com ADO.NET para ajudá-lo a se conectar a bancos de dados, manipular os dados e apresentar os dados ao usuário. A documentação nesta seção descreve como usar essas ferramentas. Você também pode programar diretamente nos objetos de comando ADO.NET. Para obter mais informações sobre como chamar as APIs do ADO.NET diretamente, consulte ADO.NET.

Para obter a documentação de acesso a dados relacionada a ASP.NET, consulte Trabalhando com dados no site do ASP.NET. Para obter um tutorial sobre como usar o Entity Framework com ‎Model-View-Controller (MVC) do ASP.NET, consulte Introdução ao Entity Framework 6 Code First usando o MVC 5.

Os aplicativos da Plataforma Universal do Windows (UWP) em C# ou Visual Basic podem usar o SDK do Microsoft Azure para .NET para acessar o Armazenamento do Azure e outros serviços do Azure. A classe Windows.Web.HttpClient permite a comunicação com qualquer serviço RESTful. Para obter mais informações, consulte Como se conectar a um servidor HTTP usando Windows.Web.Http.

Para o armazenamento de dados no computador local, a abordagem recomendada é usar o SQLite, que é executado no mesmo processo que o aplicativo. Se uma camada ORM (mapeamento relacional de objeto) for necessária, é possível usar o Entity Framework. Para obter mais informações, consulte Acesso a dados na Central de Desenvolvedores do Windows.

Se você estiver se conectando aos serviços do Azure, baixe as ferramentas mais recentes do SDK do Azure.

Provedores de dados

Para que um banco de dados seja consumível em ADO.NET, deve ter um provedor de dados de ADO.NET personalizado ou então deve expor uma interface ODBC ou OLE DB. A Microsoft fornece uma lista de provedores de dados ADO.NET para produtos SQL Server, bem como provedores ODBC e OLE DB.

Observação

Se estiver usando o Visual Studio para se conectar a bancos de dados dos provedores de dados OLEDB ou ODBC, é preciso estar ciente de que as versões do Visual Studio anteriores ao Visual Studio 2022 são todos processos de 32 bits. Dessa forma, algumas das ferramentas de dados do Visual Studio somente poderão se conectar a bancos de dados OLEDB ou ODBC usando provedores de dados de 32 bits. Assim, inclui o provedor de dados OLEDB de 32 bits do Microsoft Access, bem como outros provedores terceiros de 32 bits.

Se você estiver usando o Visual Studio 2022 para se conectar a bancos de dados, precisará estar ciente de que o Visual Studio 2022 é um processo de 64 bits. Assim, algumas das ferramentas de dados do Visual Studio não poderão se conectar a bancos de dados OLEDB ou ODBC usando provedores de dados de 32 bits.

Se você precisar manter aplicativos de 32 bits que se conectam aos bancos de dados OLEDB ou ao ODBC, ainda é possível criar e executar o aplicativo com o Visual Studio 2022. No entanto, se você precisar usar qualquer uma das Ferramentas de Dados do Visual Studio, como o Gerenciador de Servidores, o Assistente de Fonte de Dados ou o Designer de Conjunto de Dados, precisará usar uma versão anterior do Visual Studio que ainda seja um processo de 32 bits. A última versão do Visual Studio que foi um processo de 32 bits foi o Visual Studio 2019.

Se você planeja converter o projeto para um processo de 64 bits, é recomendável usar o mecanismo de banco de dados do Access do Microsoft de 64 bits, também chamado de ACE (mecanismo de banco de dados do Access). Confira Provedor OLE DB para Jet e Driver ODBC são versões exclusivas de 32 bits para obter mais informações.

Modelagem de dados

No .NET, você tem três opções para modelar e manipular dados na memória depois de recuperá-los de uma fonte de dados:

  • Entity Framework: a tecnologia ORM preferencial da Microsoft. É possível usar para programar dados relacionais como objetos .NET de primeira classe. Para novos aplicativos, deve ser a primeira opção padrão quando um modelo é necessário. Requer suporte personalizado do provedor de ADO.NET subjacente.

  • LINQ to SQL: um mapeador relacional de objeto de geração anterior. Ele funciona bem para cenários menos complexos, mas não está mais em desenvolvimento ativo.

  • Conjunto de dados: a mais antiga das três tecnologias de modelo. Foi criado principalmente para o desenvolvimento rápido de aplicativos "formulários sobre dados", nos quais você não processa grandes quantidades de dados ou executa consultas ou transformações complexas. Um objeto de conjunto de dados consiste em objetos DataTable e DataRow que logicamente se assemelham a objetos de banco de dados SQL muito mais do que objetos .NET. Para aplicativos relativamente simples com base em fontes de dados SQL, os conjuntos de dados ainda podem ser uma boa opção.

Não há nenhum requisito para usar nenhuma dessas tecnologias. Em alguns cenários, especialmente quando o desempenho é crítico, você pode simplesmente usar um objeto DataReader para ler do banco de dados e copiar os valores necessários para um objeto de coleção, como List<T>.

C++ nativo

Os aplicativos C++ que se conectam a SQL Server devem usar o Microsoft® ODBC Driver 13.1 para SQL Server na maioria dos casos. Se os servidores estiverem vinculados, o OLE DB será necessário e, para isso, você usará o SQL Server Native Client. É possível acessar outros bancos de dados usando drivers ODBC ou OLE DB diretamente. O ODBC é a interface de banco de dados padrão atual, mas a maioria dos sistemas de banco de dados oferece uma funcionalidade personalizada que não pode ser acessada por meio da interface ODBC. O OLE DB é uma tecnologia herdada de acesso a dados COM que ainda tem suporte, mas não é recomendada para novos aplicativos. Para obter mais informações, confira Acesso a dados no Visual C++.

Os programas C++ que consomem serviços REST podem usar o SDK REST do C++.

Programas C++ que funcionam com Armazenamento do Microsoft Azure podem usar o Cliente Armazenamento do Microsoft Azure.

Modelagem de dados – o Visual Studio não oferece uma camada ORM para C++. ODB é um ORM de código aberto popular para C++.

Para saber mais sobre como se conectar a bancos de dados de aplicativos C++, consulte Ferramentas de dados do Visual Studio para C++. Para obter mais informações sobre tecnologias herdadas de acesso a dados do Visual C++, consulte Acesso a dados.

JavaScript

O JavaScript no Visual Studio é uma linguagem de primeira linha para a criação de aplicativos multiplataforma, aplicativos UWP, serviços de nuvem, sites e aplicativos Web. Você pode usar Bower, Grunt, Gulp, npm e NuGet de dentro do Visual Studio para instalar suas bibliotecas JavaScript favoritas e produtos de banco de dados. Conecte-se ao armazenamento e aos serviços do Azure fazendo download dos SDKs do site do Azure. Edge.js é uma biblioteca que conecta o JavaScript (Node.js) do lado do servidor a fontes de dados ADO.NET.

Python

Instale o suporte do Python no Visual Studio para criar aplicativos Python. A documentação do Azure tem vários tutoriais sobre como se conectar a dados, incluindo o seguinte:

Plataforma de IA da Microsoft – Fornece uma introdução à nuvem inteligente da Microsoft, incluindo o Cortana Analytics Suite e o suporte para Internet das Coisas.

Armazenamento do Microsoft Azure - descreve o armazenamento do Azure e como criar aplicativos que usam blobs, tabelas, filas e arquivos do Azure.

Banco de Dados SQL do Azure – descreve como se conectar ao banco de dados SQL do Azure, um banco de dados relacional como serviço.

SQL Server Data Tools – descreve as ferramentas que simplificam o design, a exploração, o teste e a implantação de aplicativos e bancos de dados conectados a dados.

ADO.NET - descreve a arquitetura do ADO.NET e como usar as classes do ADO.NET para gerenciar dados de aplicativo e interagir com fontes de dados.

ADO.NET Entity Framework – descreve como criar aplicativos de dados que permitem aos desenvolvedores programar em um modelo conceitual em vez de diretamente em um banco de dados relacional.

WCF Data Services 4.5 - descreve como usar o WCF Data Services para implantar serviços de dados na Web ou em uma intranet que implementa o Open Data Protocol (OData).

Dados em Soluções do Office – contém links para tópicos que explicam como os dados funcionam nas soluções do Office. Inclui informações sobre programação orientada a esquema, cache de dados e acesso a dados do lado do servidor.

LINQ (Consulta Integrada à Linguagem): descreve os recursos de consulta integrados ao C# e ao Visual Basic e o modelo comum para consultar bancos de dados relacionais, documentos XML, conjuntos de dados e coleções na memória.

Ferramentas XML no Visual Studio – discute o trabalho com dados XML, a depuração de XSLT, os recursos do XML do .NET e a arquitetura da consulta XML.

Dados e documentos XML - fornece uma visão geral sobre um conjunto abrangente e integrado de classes que funcionam com documentos e dados XML no .NET.