Как мне смоделировать это в EF? - PullRequest
2 голосов
/ 16 июня 2011

Предполагается, что в моем приложении есть медики и участники.

Предполагается, что все они могут войти на сайт.

Итак, сейчас у меня есть вот что.

public class Participant:Person
{
      public string EmergencyContactNumber;
}

public class Medic:Person
{
   public string MedicHospitalId;
}

public abstract class Person
{
   public string FirstName;
   public string LastName;

   public string UserName; //this is the Membership Provider UserName to associate the MembershipUser to the Person thats logging into to the system.

}

Проблема в том, что медик может в конечном итоге также стать участником ... и я не хочу создавать для этого нового пользователя. Как я могу изменить свою модель, чтобы разрешить эту функцию?

Ответы [ 2 ]

1 голос
/ 16 июня 2011

Я бы переделал это, чтобы иметь отношение «имеет» вместо «есть».поэтому вместо того, чтобы медик был личностью, он был бы связан с человеком, например:

public class Medic
{
   public string MedicHospitalId;
   public Person Person;
}

тогда был бы стол медика с отношениями fk с таблицей персонажа.То же самое для участника.это позволило бы человеку быть и тем, и немного очистить модель, я думаю.

если бы вы хотели стать еще более сумасшедшим с этим, вы могли бы денормализовать его в большей части таблицы eav, но этона другой день.

0 голосов
/ 16 июня 2011

Может быть, роли будут хорошим решением для вас?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...