Dúvidas Code First Entity Framework!

17/06/2017

0

Bom dia,

Estou utilizando o EF para desenvolver um sistema e estou partindo da ideia de utilizar o Code First para não perder tanto tempo com a modelagem de dados, no entanto estou tendo algumas dúvidas e está rolando alguns erros na hora de fazer scaffolding, queria aproveitar para, se possível, me darem algumas sugestões.

A ideia básica é simples, minha primeira "relação de CRUDs" é básica, consiste em ter uma Usuário, que poderá ser um Médico, um Paciente ou um Secretário, ou seja, optei por fazer 4 classes e relacionar elas.

No entanto, não estou conseguindo fazer o EF entender a relação de que um Usuário TEM que ser Médico, Paciente ou Secretário. Alguém poderia me ajudar e me dar dicas? Muito obrigado!


public class User {
   public int Id { get; set; }

   public string Email { get; set; }

   public string Password { get; set; }

   public int? PatientId { get; set; }
   public ICollection<Patient> Patient { get; set; }

   public int? MedicId { get; set; }
   public virtual ICollection<Medic> Medic { get; set; }

   public int? SecretaryId { get; set; }
   public virtual ICollection<Secretary> Secretary { get; set; }
}

public class Patient {
    public int Id { get; set; }

    public int UserId { get; set; }
    public virtual User User { get; set; }
}

public class Medic  {
    public int Id{ get; set; }

    public int UserId { get; set; }
    public virtual User User { get; set; }   
}

public class Secretary  {
    public int Id { get; set; }

    public int UserId { get; set; }
    public virtual User User { get; set; }   
}
Gabriel

Gabriel

Responder

Posts

19/06/2017

Joel Rodrigues

Fala, Gabriel. Tudo bem?

No caso, um usuário só será UM médico, paciente ou secretário por vez, certo? Ou pode ocorrer de um médico ser paciente e secretário ao mesmo tempo, por exemplo?

Se for o primeiro caso, então talvez possa haver uma relação de herança entre as classes. O que acha? Ou seja, como todos são usuários, então Medic, Patient e Secretary podem herdar de User, assim todos serão usuários do sistema.

Ou no seu caso existe a separação entre a pessoa e o usuário?
Responder

19/06/2017

Gabriel

Então, um usuário SÓ poderá ser médico OU secretário.

Agora estou reformulando minha ideia e estou considerando usar IdentityUser mesmo, no entanto, estou tentando fazer com que a pessoa tenha digitar um código e automaticamente seja vínculado o ID da clínica que possua aquele código ao ID do usuário, mas não estou sabendo onde validar o "select * from" do Identity!
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