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!
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
Curtir tópico
+ 0
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?
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!
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
Clique aqui para fazer login e interagir na Comunidade :)