Métodos de DataContext (Designer de Objeto Relacional)
Os métodos DataContext (no contexto das ferramentas LINQ to SQL no Visual Studio) são os métodos da classe DataContext que executam procedimentos e funções armazenados em um banco de dados.
A classe DataContext é uma classe LINQ to SQL que atua como um canal entre um banco de dados SQL Server e as classes de entidade LINQ to SQL mapeadas para esse banco de dados. A classe DataContext contém as informações da cadeia de conexão e os métodos para se conectar a um banco de dados e manipular os dados no banco de dados. Por padrão, a classe DataContext contém vários métodos que você pode chamar, como o método SubmitChanges que envia dados atualizados das classes do LINQ to SQL para o banco de dados. Você também pode criar métodos DataContext adicionais que mapeiem para procedimentos armazenados e funções. Ou seja, a chamada desses métodos personalizados executará a função ou o procedimento armazenado no banco de dados para o qual o método DataContext está mapeado. Você pode adicionar novos métodos à classe DataContext exatamente como adiciona métodos para estender qualquer classe. No entanto, em discussões sobre os métodos DataContext no contexto do Designer Relacional de Objetos, são os métodos DataContext que mapeiam para as funções e procedimentos armazenados que estão sendo discutidos.
Painel Métodos
Os métodos DataContext que mapeiam para os procedimentos e funções armazenados são exibidos no painel Métodos do Designer Relacional de Objetos. O painel Métodos é o painel na lateral direita do painel Entidades (a superfície de design principal). O painel de Métodos lista todos os métodos DataContext que você criou usando o Designer Relacional de Objetos. Por padrão, o painel de Métodos está vazio. Arraste os procedimentos ou funções armazenadas do Gerenciador de Servidores ou do Gerenciador de Banco de Dados para o Designer Relacional de Objetos para criar métodos DataContext e popular o painel de Métodos. Para obter mais informações, consulte Como criar métodos DataContext mapeados para procedimentos e funções armazenados (Designer Relacional de Objetos).
Observação
Abra e feche o painel de métodos clicando com o botão direito do mouse no Designer Relacional de Objetos e depois clicando em Ocultar Painel de Métodos, ou Mostrar Painel de Métodos, ou use ainda o atalho de teclado CTRL+1.
Dois tipos de métodos de DataContext
Os métodos de DataContext são os métodos que mapeiam para procedimentos armazenados e funções no banco de dados. Você pode criar e adicionar métodos DataContext no painel de Métodos do Designer Relacional de Objetos. Há dois tipos distintos de métodos de DataContext; os que retornam um ou vários conjuntos de resultados e os que não retornam:
Os métodos DataContext que retornam um ou mais conjuntos de resultados:
Crie esse tipo de método DataContext quando seu aplicativo precisar apenas executar procedimentos armazenados e funções no banco de dados e retornar os resultados. Para obter mais informações, consulte Como criar métodos DataContext mapeados para procedimentos e funções armazenados (Designer Relacional de Objetos), System.Data.Linq.ISingleResult<T> e IMultipleResults.
Os métodos DataContext que não retornam conjuntos de resultados: como inserções, atualizações e exclusões para uma classe de entidade específica.
Crie esse tipo de método DataContext quando seu aplicativo precisar executar procedimentos armazenados em vez de usar o comportamento padrão do LINQ to SQL para salvar dados modificados entre uma classe de entidade e o banco de dados. Para obter mais informações, confira Como atribuir procedimentos armazenados para executar atualizações, inserções e exclusões (Designer Relacional de Objetos).
Tipos de retorno de métodos de DataContext
Quando você arrasta procedimentos armazenados e funções do Gerenciador de Servidores ou do Gerenciador de Banco de Dados para o Designer Relacional de Objetos, o tipo de retorno do método DataContext gerado difere dependendo de onde você solta o item. Soltar os itens diretamente na classe de uma entidade existente cria um método DataContext com o tipo de retorno da classe de entidade; soltar itens em uma área vazia do Designer Relacional de Objetos (em qualquer painel) cria um método DataContext que retorna um tipo gerado automaticamente. O tipo gerado automaticamente possui o nome que corresponde ao nome e às propriedades do procedimento ou da função armazenados, que são mapeados para os campos retornados pela função ou procedimento armazenado.
Observação
Você pode alterar o tipo de retorno de um método de DataContext depois de adicioná-lo ao painel de métodos. Para inspecionar ou alterar o tipo de retorno de um método DataContext, selecione-o e inspecione a propriedade Tipo de Retorno na janela Propriedades. Para obter mais informações, confira Como alterar o tipo de retorno de um método DataContext (Designer Relacional de Objetos).
Objetos que você arrasta do banco de dados para a superfície do Designer Relacional de Objetos serão nomeados automaticamente, com base no nome dos objetos no banco de dados. Se você arrastar o mesmo objeto mais de uma vez, um número será acrescentado ao final do novo nome para diferenciar os nomes. Quando os nomes dos objetos do banco de dados contêm espaços ou caracteres, que não são suportados no Visual Basic ou no C#, o espaço ou o caractere inválido é substituído por um sublinhado.
Conteúdo relacionado
- Ferramentas do LINQ to SQL no Visual Studio
- LINQ to SQL
- Procedimentos armazenados
- Como criar métodos DataContext mapeados para procedimentos armazenados e funções (Designer Relacional de Objetos)
- Como atribuir procedimentos armazenados para executar atualizações, inserções e exclusões (Designer Relacional de Objetos)
- Passo a passo: personalizando a inserção, a atualização e o comportamento de exclusão de classes de entidade
- Passo a passo: criando classes LINQ to SQL (Designer Relacional de Objetos)