Usuário com melhor resposta
Conexão com banco de dados

Pergunta
-
Uma aplicação MVC 5 por padrão vem com banco de dados local quando criada no Visual Studio, porém sei que não é uma prática nada usual no mercado. Como conectar com um banco de dados SQL Server externo? Tenho o SQL Server 2014 Express instalado localmente em minha máquina, por exemplo no php temos o PDO que com a string = new PDO("mysql:hostname=localhost;dbname=nome do banco","usuario","senha") eu me conecto a um banco MySql, por exemplo. No caso do ASP.NET como funciona essa conexão? Digo em padrão atual, estou lendo sobre ADO.NET. É o padrão utilizado?
- Editado Ranierycg segunda-feira, 25 de maio de 2015 16:51
Respostas
-
Raniery,
O ADO.NET é a base na qual está construída toda a tecnologia de acesso a bancos de dados relacionais na plataforma .NET. Estudar sobre o mesmo é importante, já que vc terá discernimento sobre como proceder em cada cenário que encontrar no dia-a-dia.
Atualmente a alternativa para acesso a dados mais utilizada é o Entity Framework (EF), o qual representa um exemplo de solução ORM. O Entity Framework foi projeto utilizando o ADO.NET, sendo que o mesmo possibilita representar registros da tabela de um banco sob a forma de objetos .NET.
Sugiro a vc dar uma olha nos link abaixo (há no mesmo uma relação de outros artigos que podem ser úteis), caso queria conhecer mais sobre o Entity Framework:
https://msdn.microsoft.com/pt-br/library/jj128157.aspx- Marcado como Resposta Ranierycg segunda-feira, 25 de maio de 2015 18:00
-
-
Apenas complementando a resposta anterior, existem outras opções de acesso a dados como NHibernate e Enterprise Library. Nestes outros casos, novamente o ADO.NET é a base para que aconteça a interação com bases relacionais como SQL Server, Oracle, Postgre, MySql, Firebird, dentre outros.
- Marcado como Resposta Ranierycg quarta-feira, 27 de maio de 2015 20:59
-
Embora bastante gente faça a modelagem do banco a partir do próprio Entity Framework, eu não sigo esta prática. Sempre trabalhei em ambientes nos quais havia a exigência de se executarem scripts por um DBA ou outro profissional designado para esta tarefa; logo, parto sempre da implementação do banco e depois replico isto com o Entity em uma aplicação .NET.
Já o using é uma construção que força a liberação de recursos de um objeto (o qual normalmente implementa a interface IDisposable) ao término de um bloco de instruções, mesmo que aconteçam erros/exceções durante este processo. Logo, ao se utilizarem conexões de acesso a bancos é recomendável o uso desta estrutura.
A criação do banco local é uma característica própria do Visual Studio (vc pode estar desenvolvendo em um note, sem acesso a uma rede e precisaria fazer um teste rápido, por exemplo). Para configurar a conexão apontando para um servidor, sugiro vc consultar a seção SQL Server no site ConnectionStrings:
- Marcado como Resposta Ranierycg sexta-feira, 29 de maio de 2015 20:44
Todas as Respostas
-
Raniery,
O ADO.NET é a base na qual está construída toda a tecnologia de acesso a bancos de dados relacionais na plataforma .NET. Estudar sobre o mesmo é importante, já que vc terá discernimento sobre como proceder em cada cenário que encontrar no dia-a-dia.
Atualmente a alternativa para acesso a dados mais utilizada é o Entity Framework (EF), o qual representa um exemplo de solução ORM. O Entity Framework foi projeto utilizando o ADO.NET, sendo que o mesmo possibilita representar registros da tabela de um banco sob a forma de objetos .NET.
Sugiro a vc dar uma olha nos link abaixo (há no mesmo uma relação de outros artigos que podem ser úteis), caso queria conhecer mais sobre o Entity Framework:
https://msdn.microsoft.com/pt-br/library/jj128157.aspx- Marcado como Resposta Ranierycg segunda-feira, 25 de maio de 2015 18:00
-
-
-
Apenas complementando a resposta anterior, existem outras opções de acesso a dados como NHibernate e Enterprise Library. Nestes outros casos, novamente o ADO.NET é a base para que aconteça a interação com bases relacionais como SQL Server, Oracle, Postgre, MySql, Firebird, dentre outros.
- Marcado como Resposta Ranierycg quarta-feira, 27 de maio de 2015 20:59
-
Olá, obrigado pela ajuda. Estou usando o Entity Framework para fazer o Code First. Primeira pergunta. É uma prática usual no mercado fazer a modelagem do Banco com os Models? Porque em PHP estou acostumado a ter um DBA fazendo a modelagem e eu apenas faço a conexão com o usuário e a senha do DB para fazer o CRUD.
Criei um aplicativo console em C# para fazer minha primeira conexão. Nele contém uma classe chamada Program.cs que contém o método Main, depois criei uma classe Cliente, que contém o model para o DB, e depois eu criei uma classe ClienteContext que herda de DbContext e faz o DbSet da classe Cliente.
Porém em alguns exemplos na NET vi que tem a seguinte linha de código, já traduzi para minha aplicação.
using(var db = new ClienteContext()){
var cliente = new Cliente (Nome = "Primeiro Cliente");
}
Minha dúvida é: Porque o uso da palavra using em um scopo? Não estou familiarizado com a utilização dessa palavra nesse contexto.
E outra coisa. Por padrão o VS cria um banco de dados local... Como faço para alterar o App.config para utilizar o banco de dados que eu quero?
Desde já agradeço.
- Editado Ranierycg quarta-feira, 27 de maio de 2015 22:45
-
Embora bastante gente faça a modelagem do banco a partir do próprio Entity Framework, eu não sigo esta prática. Sempre trabalhei em ambientes nos quais havia a exigência de se executarem scripts por um DBA ou outro profissional designado para esta tarefa; logo, parto sempre da implementação do banco e depois replico isto com o Entity em uma aplicação .NET.
Já o using é uma construção que força a liberação de recursos de um objeto (o qual normalmente implementa a interface IDisposable) ao término de um bloco de instruções, mesmo que aconteçam erros/exceções durante este processo. Logo, ao se utilizarem conexões de acesso a bancos é recomendável o uso desta estrutura.
A criação do banco local é uma característica própria do Visual Studio (vc pode estar desenvolvendo em um note, sem acesso a uma rede e precisaria fazer um teste rápido, por exemplo). Para configurar a conexão apontando para um servidor, sugiro vc consultar a seção SQL Server no site ConnectionStrings:
- Marcado como Resposta Ranierycg sexta-feira, 29 de maio de 2015 20:44