1
resposta

Curso Entity Framework

Queria saber o que significa "Persistir" não ensinaram esse termo ao longo do curso o que é todo esse código que nem explicou apenas colocou la e falou coisas superficiais quem nem da pra entender Esse código ai abaixo e seu quisesse usar outro banco de dados. Tenho que guardar essa receita de bolo pra usar em todas minhas aplicações que futuramente eu venha fazer ? To perdido. Se eu quiser criar minha string de conexão como é que vou fazer ?

Os professores parecem não ter roteiro e simplesmente falam para a câmera como uma conversa de bar, não existe didática ou alguma forma de pedagogia.

que código é esse ???

 public class LojaContext : DbContext
    {
        public DbSet<Produto> Produtos { get; set; }

        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            optionsBuilder.UseSqlServer("Server=(localdb)\\mssqllocaldb;Database=LojaDB;Trusted_Connection=true;")
        }
    }

}

Acho que paguei para aprender e não par ver alguém digitar códigos e nem saber o que aquilo quer dizer. Só pode ser brincadeira.

1 resposta

Olá, Gabriel

Obrigado pelo seu feedback, ele é muito importante para podermos melhorar a comunicação com nossos alunos.

Quando falamos em "persistir os dados", queremos dizer "gravar os dados" no banco de dados, deixá-los armazenados, sãos e salvos para podermos consultá-los futuramente.

O curso foi gravado usando o gerenciador de banco de dados SQL Server. Portanto, para trabalhar com outro banco de dados será necessário instalar outro provedor de banco de dados. Qual banco de dados você pensa em usar?

Normalmente reutilizamos projetos anteriores para trabalhar com projetos novos. Então, respondendo sua pergunta: em vez de digitar todo o código de conexão de dados a partir do zero, é bom você usar esse exemplo do curso sempre que precisar de uma nova conexão, principalmente porque o exemplo do curso já está testado e funcionando. É claro que, para sua string de conexão de banco de dados, vai ser preciso adaptar algumas coisas para a realidade do seu projeto (como o nome do banco de dados).

Observe o código abaixo:

public class LojaContext : DbContext
    {
        public DbSet<Produto> Produtos { get; set; }

        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            optionsBuilder.UseSqlServer("Server=(localdb)\\mssqllocaldb;Database=LojaDB;Trusted_Connection=true;")
        }
    }
}

O que ele faz?

  1. A classe LojaContext é o "contexto" do banco de dados, isto é: é onde o Entity Framework Core vai se basear para poder acessar o seu banco de dados a partir do código C#.

  2. A classe LojaContext herda da classe-base DbContext, que faz parte do Entity Framework Core. Toda aplicação que usar Entity Framework Core precisa ter uma classe assim, que herda da classe-base DbContext.

  3. A propriedade Produtos é uma coleção de produtos que mapeia a tabela Produtos do banco de dados para o seu código C#.

  4. O método OnConfiguring é necessário para configurar as opções necessárias para o Entity Framework Core poder trabalhar corretamente. No código acima, a linha...

optionsBuilder.UseSqlServer("Server=(localdb)\\mssqllocaldb;Database=LojaDB;Trusted_Connection=true;")

... vai configurar o Entity Framework Core para usar o Sql Server. Além disso, essa linha define as informações da conexão com o banco de dados:

  • Server: (localdb)\mssqllocaldb: indica que o servidor de banco de dados se chama (localdb)\mssqllocaldb
  • Database=LojaDB: indica o nome do banco de dados
  • Trusted_Connection=true: indica que o usuário vai ser autenticado através da sua identidade do Windows, isto é, sem a necessidade de passar usuário e senha. Isso é conveniente quando o usuário do Windows já tem permissão sobre o servidor de banco de dados e a aplicação aproveita essa permissão para autenticar o usuário.

Qualquer dúvida, por favor nos avise!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software