Partilhar via


Ferramentas LINQ to SQL no Visual Studio

LINQ to SQL foi a primeira tecnologia de mapeamento objeto-relacional lançada pela Microsoft. Ele funciona bem em cenários básicos e continua a ser suportado no Visual Studio, mas não está mais em desenvolvimento ativo. Use o LINQ to SQL ao manter um aplicativo herdado que já o esteja usando ou em aplicativos simples que usam o SQL Server e não exigem mapeamento de várias tabelas. Em geral, os novos aplicativos devem usar o Entity Framework quando uma camada de mapeamento objeto-relacional é necessária.

Instalar as ferramentas do LINQ para SQL

No Visual Studio, você cria classes LINQ to SQL que representam tabelas SQL usando o Object Relational Designer (O/R Designer). O designer de O/R é a interface do usuário para editar arquivos .dbml. A edição de arquivos .dbml com uma superfície de designer requer as ferramentas LINQ to SQL, que não são instaladas por padrão como parte de qualquer uma das cargas de trabalho do Visual Studio.

Para instalar as ferramentas LINQ to SQL, inicie o instalador do Visual Studio, escolha Modificar, depois selecione o separador Componentes Individuais, e em seguida selecione LINQ to SQL tools sob a categoria Ferramentas de Código.

O que é o O/R Designer

O O/R Designer tem duas áreas distintas em sua superfície de design: o painel de entidades à esquerda e o painel de métodos à direita. O painel de entidades é a superfície de design principal que exibe as classes de entidade, associações e hierarquias de herança. O painel de métodos é a área de design que exibe os métodos DataContext que são mapeados para procedimentos armazenados e funções.

O O/R Designer fornece uma superfície de design visual para criar LINQ to SQL classes de entidade e associações (relações) baseadas em objetos em um banco de dados. Em outras palavras, o O/R Designer cria um modelo de objeto em um aplicativo que mapeia objetos em um banco de dados. Ele também gera um DataContext fortemente tipado que envia e recebe dados entre as classes de entidade e o banco de dados. O O/R Designer também fornece funcionalidade para mapear procedimentos armazenados e funções a DataContext métodos que retornam dados e preenchem classes de entidade. Finalmente, o O/R Designer fornece a capacidade de projetar relações de herança entre classes de entidade.

Abra a ferramenta de design O/R

Para adicionar um modelo de entidade LINQ to SQL ao seu projeto, escolha Project>Add New Iteme, em seguida, selecione LINQ to SQL Classes na lista de itens do projeto:

Captura de tela mostrando classes LINQ to SQL.

O Visual Studio cria um arquivo de .dbml e o adiciona à sua solução. Este é o arquivo de mapeamento XML e seus arquivos de código relacionados.

Captura de tela mostrando classes LINQ to SQL no Gerenciador de Soluções.

Quando seleciona o arquivo .dbml, o Visual Studio mostra a superfície O/R Designer que permite criar o modelo visualmente. A ilustração a seguir mostra o designer depois que as tabelas Northwind Customers e Orders foram arrastadas do Server Explorer. Observe a relação entre as tabelas.

Captura de tela mostrando LINQ to SQL Designer.

Importante

O O/R Designer é um mapeador relacional de objeto simples porque suporta apenas relações de mapeamento 1:1. Em outras palavras, uma classe de entidade pode ter apenas uma relação de mapeamento 1:1 com uma tabela ou exibição de banco de dados. Não há suporte para mapeamento complexo, como o mapeamento de uma classe de entidade para uma tabela associada; use o Entity Framework para mapeamento complexo. Além disso, o designer é um gerador de código unidirecional. Isso significa que apenas as alterações feitas na superfície do designer são refletidas no arquivo de código. As alterações manuais no arquivo de código não são refletidas no O/R Designer. Todas as alterações feitas manualmente no arquivo de código são substituídas quando o designer é salvo e o código é regenerado. Para obter informações sobre como adicionar código de usuário e estender as classes geradas pelo O/R Designer, consulte Como estender o código gerado peloO/R Designer .

Criar e configurar o DataContext

Depois de adicionar um LINQ to SQL Classes item a um projeto e abrir o O/R Designer, a superfície de design vazia representa um DataContext vazio pronto para ser configurado. O DataContext é configurado com informações de conexão fornecidas pelo primeiro item que é arrastado para a superfície de desenho. Portanto, o DataContext é configurado usando informações de conexão do primeiro item colocado na área de design. Para obter mais informações sobre a classe DataContext, consulte métodos DataContext (O/R Designer).

Criar classes de entidade que mapeiam para tabelas e exibições de banco de dados

Você pode criar classes de entidade mapeadas para tabelas e exibições arrastando tabelas e exibições de banco de dados do Server Explorer ou Database Explorer para o O/R Designer. Como indicado na seção anterior, o DataContext é configurado com informações de conexão fornecidas pelo primeiro item que é arrastado para a superfície de design. Se um item subsequente que usa uma conexão diferente for adicionado ao O/R Designer, você poderá alterar a conexão para o DataContext. Para obter mais informações, consulte Como criar classes LINQ to SQL mapeadas para tabelas e exibições (O/R Designer).

Criar métodos DataContext que chamam procedimentos armazenados e funções

Você pode criar métodos DataContext que chamam (são mapeados para) procedimentos armazenados e funções arrastando-os do Server Explorer ou Database Explorer para o O/R Designer. Procedimentos armazenados e funções são adicionados ao O/R Designer como métodos do DataContext.

Observação

Quando você arrasta procedimentos armazenados e funções do Server Explorer ou Database Explorer para oO/R Designer, o tipo de retorno do método gerado difere dependendo de onde você solta o item. Para obter mais informações, consulte métodos DataContext (O/R Designer).

Configurar um DataContext para usar procedimentos armazenados para salvar dados entre classes de entidade e um banco de dados

Como dito anteriormente, você pode criar métodos DataContext que chamam procedimentos armazenados e funções. Além disso, você também pode atribuir procedimentos armazenados que são usados para o comportamento de tempo de execução padrão do LINQ to SQL, que executa inserções, atualizações e exclusões. Para obter mais informações, consulte Como atribuir procedimentos armazenados para executar atualizações, inserções e exclusões (O/R Designer).

Herança e o designer de O/R

Como outros objetos, as classes LINQ to SQL podem usar herança e ser derivadas de outras classes. Em um banco de dados, as relações de herança são criadas de várias maneiras. O O/R Designer suporta o conceito de herança de tabela única, pois é frequentemente implementado em sistemas relacionais. Para obter mais informações, consulte Como configurar a herança usando o O/R Designer.

Consultas LINQ to SQL

As classes de entidade criadas pelo O/R Designer são projetadas para uso com Language Integrated Query (LINQ). Para obter mais informações, consulte Como consultar informações.

Separe o DataContext gerado e o código de classe de entidade em namespaces diferentes

O O/R Designer fornece o de Namespace de Contexto e Namespace de Entidade propriedades no . Essas propriedades determinam em qual namespace o código de classe DataContext e entidade é gerado. Por padrão, essas propriedades estão vazias e as classes DataContext e entidade são geradas no namespace do aplicativo. Para gerar o código num namespace diferente do namespace do aplicativo, insira um valor nas propriedades Context Namespace e/ou Entity Namespace.

Conteúdo de referência

Ver também