EF 6, relação N para N

08/07/2014

0

Boa tarde,

ontem eu assisti a um pocket aqui no DevMedia, sobre relação N para N com o EF 6, e resolvi fazer a modelagem de duas tabelas minha.
Professor e FaixasProfessor (faixa de karate).
Como explicado no video, eu deveria fazer uma associação entre essas duas tabelas (usar o Association, do Model).
Assim eu fiz, e tudo ocorreu certo. Porém, agora estou com um problema que não sei como solucionar (profurei em alguns lugares, mas não achei resposta).

Eu criei as Views para Professor, e tudo foi tranquilo. Consegui, através da associação, adicionar uma faixa para a tabela de FaixasProfessor. Porém, quando criei a View Create, da FaixasProfessor, eu precisei por um DropDownListFor, para que, quando for cadastrar uma nova faixa, diga para qual professor é a faixa.
Fiz igual a uns exemplos que utilizei no passado, com uma SelectList ... Na View, trouxe corretamente os professores cadastrados, mas, quando eu tento adicioná-los no banco, dá erro. Isso porque, eu busquei o Id do professor e o Nome, mas, quando na View eu coloco (model.Professor.FirstOrDefault().IdProfessor, onde na teoria, iria passar para ele o id selecionado na lista, não preenche com nada, e a "Property Navigation" de Professor, fica vazia, dando problema na inserção da tabela que foi criada (automatica), para salvar o N:N .

Alguém saberia me dizer qual a maneira correta de fazer isso?

(espero não ter ficado muito confuso. Caso tenha ficado, de noite eu exemplifico com algumas imagens do meu projeto)

Abs,
João
João Effting

João Effting

Responder

Posts

08/07/2014

João Effting

Só complementando um pouco mais, a Property Navigation fica com ICollection na classe. Na classe de professor foi tranquilo, porque eu criei na mão uma faixa, e fiz o db.PROFESSORES.FaixasProfessor.Add(faixa); E isso tudo foi no Controller.


Mas ali na View das Faixas, não sei como fazer esse "Add" pelo DropDownListFor .

Acredito eu que deveria ser feito, para que a referência seja de fato, criada.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar