Partilhar via


Trabalhar com dados no Visual Studio

No Visual Studio, você pode criar aplicativos que se conectam a dados em praticamente qualquer produto ou serviço de banco de dados, em qualquer formato, em qualquer lugar — em uma máquina local, em uma rede local ou em uma nuvem pública, privada ou híbrida.

Para aplicativos em JavaScript, Python, PHP, Ruby ou C++, você se conecta aos dados como faz com 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 vincular dados à interface do usuário. O Microsoft Azure fornece SDKs para .NET, Java, Node.js, PHP, Python, Ruby e aplicativos móveis, além de ferramentas no Visual Studio para conexão com o Armazenamento do Azure.

As listas a seguir mostram apenas alguns dos muitos sistemas de banco de dados e armazenamento que podem ser usados do Visual Studio. As ofertas do Microsoft Azure são serviços de dados que incluem todo o provisionamento e administração do armazenamento de dados subjacente. A carga de trabalho de desenvolvimento do Azure no Visual Studio permite-lhe trabalhar com armazenamento de dados do Azure diretamente no 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 uma máquina local, em uma rede local ou no Microsoft Azure em uma máquina virtual. Se você hospedar o banco de dados em uma máquina virtual do Microsoft Azure, 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
  • Banco de dados estendido do SQL Server
  • StorSimple
  • E mais...

SQL

  • SQL Server 2005-2016 (inclui Express e LocalDB)
  • Pássaro de fogo
  • MariaDB
  • MySQL
  • Oráculo
  • PostgreSQL
  • SQLite
  • E mais...

NoSQL

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

Muitos fornecedores de banco de dados e terceiros oferecem suporte à integração do Visual Studio por pacotes NuGet. Você pode explorar as ofertas no 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. Você pode procurar essas ofertas no Visual Studio Marketplace ou navegando até Extensões>Gerir Extensões e depois selecionando 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 Visual Studio Connected Services, você pode simplificar o processo de adicionar suporte de banco de dados aos seus projetos.

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

  • SQL Server nas instalações. Nesse cenário, você instala o SQL Server em algum lugar em sua rede local e se conectar a ele.
  • SQL Server em sua máquina local. Nesse cenário, você instala o SQL Server em sua máquina local e se conectar a ele.
  • SQL Server Express LocalDB. Você não instala nada além do Visual Studio; você apenas se conecta a ele.
  • SQL Server Express LocalDB no contêiner. LocalDB como na opção anterior, mas dentro de um contêiner local.
  • Banco de Dados do SQL Server do Azure. Conecte-se ao serviço em execução ao vivo no Azure.

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

  • 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)

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

carga de trabalho de Azure para desenvolvimento

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

Microsoft Azure

  • SQL Data Warehouse
  • Banco de dados estendido do SQL Server
  • StorSimple
  • E mais...

SQL

  • Firebird
  • MariaDB
  • MySQL
  • Oráculo
  • E mais...

NoSQL

  • Apache Cassandra
  • CouchDB
  • MongoDB
  • NDatabase
  • OrientDB|
  • RavenDB
  • VelocityDB
  • E 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 o SQL Server 2005.

Idiomas .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 e não é recomendada para aplicativos de dados modernos. Recomendamos focar no .NET Core ou .NET 5 ou versões posteriores e usar Entity Framework Core para o desenvolvimento de acesso a dados.

ADO.NET é um conjunto de classes que define uma interface para acessar qualquer tipo de fonte de dados, relacional e 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 apresentá-los ao usuário. A documentação nesta seção descreve como usar essas ferramentas. Você também pode programar diretamente contra os objetos de comando ADO.NET. Para obter mais informações sobre como chamar as APIs ADO.NET diretamente, consulte ADO.NET.

Para obter a documentação de acesso a dados relacionada com o ASP.NET, consulte Trabalhar com Dados no site ASP.NET. Para obter um tutorial sobre como usar o Entity Framework com ASP.NET Model-View-Controller (MVC), consulte Introdução ao Entity Framework 6 Code First usando 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 armazenamento de dados na máquina local, a abordagem recomendada é usar SQLite, que é executado no mesmo processo que o aplicativo. Se uma camada de mapeamento objeto-relacional (ORM) for necessária, você poderá usar o Entity Framework. Para obter mais informações, consulte acesso a dados.

Se você estiver se conectando aos serviços do Azure, certifique-se de baixar as ferramentas mais recentes do SDK do Azure.

Fornecedores de dados

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

Observação

Se você estiver usando o Visual Studio para se conectar a bancos de dados usando provedores de dados OLEDB ou ODBC, precisará estar ciente de que as versões do Visual Studio anteriores ao Visual Studio 2022 são todos processos de 32 bits. Isso significa que algumas das ferramentas de dados no Visual Studio só poderão se conectar a bancos de dados OLEDB ou ODBC usando provedores de dados de 32 bits. Isso inclui o provedor de dados OLEDB de 32 bits do Microsoft Access, bem como outros provedores de 32 bits de terceiros.

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. Isso significa que algumas das ferramentas de dados no 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 a bancos de dados OLEDB ou ODBC, ainda poderá 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 DataSet Designer, você precisará usar uma versão anterior do Visual Studio que ainda é um processo de 32 bits. A última versão do Visual Studio que era 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 Microsoft Access de 64 bits, também chamado de mecanismo de conectividade do Access (ACE). Consulte OLE DB Provider para Jet e o driver ODBC são apenas versões de 32 bits para 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 Microsoft ORM preferida. Você pode usá-lo para programar em relação a dados relacionais como objetos .NET de primeira classe. Para novos aplicativos, deve ser a primeira escolha padrão quando um modelo é necessário. Requer suporte personalizado do provedor de ADO.NET subjacente.

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

  • Datasets: A mais antiga das três tecnologias de modelagem. Ele é projetado principalmente para o desenvolvimento rápido de aplicativos de "formulários sobre dados" nos quais você não está processando grandes quantidades de dados ou executando consultas ou transformações complexas. Um objeto DataSet consiste em objetos DataTable e DataRow que logicamente se assemelham muito mais aos objetos do Banco de dados SQL do que aos objetos .NET. Para aplicativos relativamente simples baseados em fontes de dados SQL, os conjuntos de dados ainda podem ser uma boa escolha.

Não há nenhuma exigência para usar qualquer uma dessas tecnologias. Em alguns cenários, especialmente onde 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 ao 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. Você pode acessar outros bancos de dados usando diretamente ODBC ou drivers OLE DB. ODBC é a interface de banco de dados padrão atual, mas a maioria dos sistemas de banco de dados fornece funcionalidade personalizada que não pode ser acessada através da interface ODBC. O OLE DB é uma tecnologia de acesso a dados COM herdada que ainda é suportada, mas não recomendada para novos aplicativos. Para obter mais informações, consulte Acesso a dados no Visual C++.

Programas C++ que consomem serviços REST podem usar o C++ REST SDK.

Modelagem de dados — o Visual Studio não fornece uma camada ORM para C++. ODB é um popular ORM de código aberto 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++.

Javascript

JavaScript no Visual Studio é uma linguagem de primeira classe para criar 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 e produtos de banco de dados favoritos. Conecte-se ao Armazenamento e aos serviços do Azure baixando SDKs do site do Azure. Edge.js é uma biblioteca que conecta JavaScript do lado do servidor (Node.js) a fontes de dados ADO.NET.

Python

Instale suporte 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:

Armazenamento do Microsoft Azure— Descreve o armazenamento do Azure e como criar aplicações usando blobs, tabelas, filas e ficheiros do Azure.

Azure SQL Database— descreve como se conectar ao Azure SQL Database, um banco de dados relacional como um 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 ADO.NET e como usar as classes ADO.NET para gerenciar dados de aplicativos e interagir com fontes de dados e XML.

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 desenvolver serviços de dados na web ou numa intranet que implementa o Open Data Protocol (OData).

Data in Office Solutions—Contém links para tópicos que explicam como os dados funcionam em soluções do Office. Isso inclui informações sobre programação orientada a esquema, cache de dados e acesso a dados do lado do servidor.

LINQ (Language Integrated Query)— Descreve os recursos de consulta incorporados em C# e 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, recursos XML .NET e a arquitetura da Consulta XML.

XML Documents and Data— Fornece uma visão geral para um conjunto abrangente e integrado de classes que funcionam com documentos e dados XML no .NET.