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.