Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] relacionamento n: n

Opa!

Não entendi muito bem os comandos/métodos e para o que cada um serve neste código aqui...Poderiam me ajudar?

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

2 respostas
solução!

Esse código faz parte da configuração de um modelo de dados usando o Entity Framework no .NET 6. Vamos quebrar isso em partes:

  1. modelBuilder.Entity<Sessao>().HasKey(sessao => new { sessao.FilmeId, sessao.CinemaId });

    • Aqui, estamos definindo a chave primária da entidade Sessao. Em vez de uma única chave, estamos usando uma combinação de FilmeId e CinemaId como chave primária. Isso significa que cada sessão é única com base na combinação desses dois campos.
  2. modelBuilder.Entity<Sessao>().HasOne(sessao => sessao.Cinema).WithMany(cinema => cinema.Sessoes).HasForeignKey(sessao => sessao.CinemaId);

    • Agora estamos configurando o relacionamento entre a entidade Sessao e a entidade Cinema. Indica que uma sessão pertence a um cinema (relacionamento de muitos para um). Estamos usando CinemaId como chave estrangeira.
  3. modelBuilder.Entity<Sessao>().HasOne(sessao => sessao.Filme).WithMany(filme => filme.Sessoes).HasForeignKey(sessao => sessao.FilmeId);

    • Similar à configuração anterior, mas agora estamos configurando o relacionamento entre Sessao e Filme. Cada sessão está associada a um filme, e FilmeId é usado como chave estrangeira.

Em resumo, esse código está basicamente dizendo ao Entity Framework como o banco de dados deve ser estruturado com base nas relações entre as entidades Sessao, Cinema e Filme. Está estabelecendo as chaves primárias e estrangeiras para garantir que os dados sejam organizados de maneira consistente e que as consultas no banco de dados possam ser realizadas de maneira eficiente.

Entendi bem! Obrigado bro.

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