Inquiridor
Duvida Sobre Relacionamento

Pergunta
-
Olá a todos.
Preciso fazer um crud para um trabalho da faculdade e estou com uma duvida sobre o relacionamento das tabelas. É um cadastro de alunos, onde um aluno pode ter varias matérias. Estou em dúvida de como fazer esse relacionamento, e também precisarei de um atributo do tipo List<> para a minha classe do tipo Aluno para salvar as matérias?
Alguém pode me dar um dica de como fazer isso?
Obrigado.
Todas as Respostas
-
Julio,
No caso do relacionamento, você precisará ter mais ou menos a seguinte estrutura:
Tabela Alunos: coluna IDAluno
Tabela Materias: coluna IdMateria
Tabela AlunosMaterias : coluna IDAluno e coluna IdMateria
A tabela AlunosMaterias será responsável por armazerar o relacionamento Aluno X Materias, sendo 1:N, ou seja, 1 aluno pode ter N matérias vinculadas.
Espero ter ajudado.
- Sugerido como Resposta Junior Galvão - MVPMVP segunda-feira, 3 de fevereiro de 2020 13:28
-
-
Entendi pessoal, obrigado.
Só que agora fiquei com outra dúvida. Primeiro eu terei que salvar o aluno na tabela de Alunos, ai recuperar o id dele para salvar ele e as matérias na tabela AlunoMatérias, é isso mesmo?
Outra coisa, no meu objeto do tipo Aluno, terei que ter um atributo do tipo List para salvar as matérias?
Muito Obrigado.
-
Exato Júlio...
Você grava a entidade principal (aluno no caso) depois as as periféricas.
Na hora de excluir faça a operação inversa. As periféricas até chegar a principal. Isso se seus relacionamentos não estiverem setados para a exclusão em cascata. Mas isso já é outra história.
Abraço !
Não esqueça de marcar o post como útil caso tenha te ajudado.
-
-
Rafael,
Estou acompanhando o Post e fiquei na dúvida no que realmente você esta tendo dificuldade em definir os relacionamentos? Além disso, as cardinalidades que você esta especificando em alguns cenários vão ser mais indicadas utilizar N:N ao invês de 1:N.
Se você pensar podemos ter N materiais com N Alunos e N AlunosMateriais com N Materiais, entre outros.
Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]