Человек и EHR (электронная медицинская карта) связаны между собой.
Person имеет EHRId, обнуляемый, и EHR имеет PersonId, не обнуляемый.
В то же время ЭМК и Личность должны быть связаны многими со многими.
Потому что у человека может быть много медиков (представленных личностью), а у медика может быть много EHR.
Я хотел бы иметь дополнительные атрибуты в таблице соединений.
Я не знаю, как определить это в EF.
Пожалуйста, помогите.
Вот мои занятия.
public class Person
{
public int ID { get; set; }
public string firstName { get; set; }
public string lastName { get; set; }
public ICollection<UserSpecialist> patients { get; set; }
public int ehrID { get; set; }
public virtual EHR ehr { get; set; }
}
public class EHR
{
public int ID { get; set; }
public bool asthmatic{ get; set; }
public ICollection<UserSpecialist> specialists { get; set; }
public int PersonID { get; set; }
public virtual Person Person { get; set; }
}
public class UserSpecialist
{
public int ID { get; set; }
public DateTime creationDate { get; set; }
public int PersonID { get; set; }
public int EHRID { get; set; }
public virtual Person Person { get; set; }
public virtual EHR EHR { get; set; }
}
Когда EF пытается создать базу данных, выдает эту ошибку
Невозможно определить основной конец
ассоциации между типами
«Project.Person» и «Project.EHR».
Основной конец этой ассоциации
должен быть явно настроен с помощью
либо отношения свободно API или
аннотации данных.
Пожалуйста, помогите