Есть несколько вещей, которые не совсем выглядят здесь. Может быть, если вы их очистите, вы будете близки к тому, чтобы определить, где ошибка.
Во-первых, меня немного смущает ваш класс PatientRecord
. Он идентифицирует себя с PatientRecordId
и сопоставляется с Patient
, но не добавляет никакой другой информации, так для чего он нужен? Если вы не собираетесь добавлять что-либо в этот класс, я думаю, вы можете удалить это из модели.
Во-вторых, ваш класс Prescription
отображается в коллекцию Drugs
. Это прекрасно, потому что между ними есть отношение один ко многим ... так почему же оно имеет целочисленное свойство DrugId
? Если вы не хотите, чтобы класс Prescription
ссылался на Id
одного Drug
, а также на коллекцию Drugs
, я думаю, вам следует удалить его. Это может сбивать с толку Entity Framework и не давать вам никакого значения.
В-третьих, ваш класс Drug
отображается на один Prescription
(через его свойства Prescription
и PrescriptionId
), но почему? Предположительно, лекарство может появляться по нескольким рецептам, так как его можно назначать многим людям или назначать одному и тому же человеку несколько раз. Поэтому я думаю, что вы тоже хотите удалить это и заменить его отношением «многие ко многим».
Наконец, если вы хотите иметь отношение «многие ко многим» между Prescription
и Drug
( и я думаю, что вы это сделаете) вам, вероятно, нужно добавить класс DrugPrescription
, со свойством Drug
и свойством Prescription
, чтобы создать это отображение «многие ко многим».
Я думаю, если вы сделайте это, вы будете очень близки к своей цели, и ваше сообщение об ошибке, вероятно, будет go прочь.