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:

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.