1
resposta

Popular uma tabela

A minha dúvida é: Tenho uma view (Cadastro de paciente) que precisa popular duas tabelas, já que o login será feito através de login e senha que o próprio usuário escolher.

Só que o login, é feito através da tabela usuário, então dos dados Login e senha que o paciente cadastrarem, devem ir para a tabela usuário, e não paciente.

Como fazer?

1 resposta

Olá Renan,

quando o formulário da view passa a não refletir exatamente os modelos que serão mapeados/guardados no banco de dados, uma estratégia comum é usar o conceito de View Model.

A ideia é você criar uma nova classe, por exemplo CadatroPacienteView, que representa exatamente os campos que o usuário vai preencher na tela. A ideia é que nesta classe tenham métodos que saibam construir os seus objetos modelo que serão salvos no banco, então você poderia ter um método CriaUsuario que só cria o objeto com os dados que serão salvos na tabela usada para login e o método CriaPaciente que cria o objeto Paciente que será salvo na outra tabela. Ai só precisa que a action do seu controller receba como parâmetro uma variável deste tipo CadatroPacienteView, chame os métodos CriaUsuario e CriaPaciente para receber os objetos modelo e salve no banco.

Aqui um link com um exemplo de View Model.