Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Criar View para cadastro envolvendo relação um para muitos

Como devo construir View e Controller para criar formulário que envolva duas ou mais tabelas relacionadas?

Por exemplo, no caso de produto e categoria: ao cadastrar um produto, preciso selecionar a sua categoria. Devo construir classes ViewModel? Onde elas devem ficar? Como seriam suas propriedades?

Achei um link interessante sobre isso, usando EF 6. Mas gostaria de saber se está de acordo com as boas práticas e se é possível fazer a mesma coisa com EF Core. Segue:

https://www.codeproject.com/Articles/702890/MVC-Entity-Framework-and-Many-to-Many-Relation

1 resposta
solução!

Olá Samuel, tudo bem?

Acredito que o jeito mais simples é criar uma ViewModel para agregar os dois objetos. Essa ViewModel terá duas propriedades, que são os objetos referentes às tabelas (dependendo do caso pode ser do tipo IList<> se precisar de vários registros das tabelas).

Seu repositório de dados irá popular o objeto ViewModel, que recebe no construtor os dois objetos ou as duas listas de objetos referentes às tabelas e essae objeto ViewModel será passado como parâmetro da view: return View(minhaViewModel); e será o a ViewModel também será o tipo da View que usará os dados.

O EF Core ainda não tem suporte de many-to-many no momento, mas dizem que pretendem adicionar essa feature num futuro próximo.

Espero ter ajudado!