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

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar