У меня есть следующая структура таблицы, которую Entity Framework корректно возвращает как один-ко-многим:
Patient
{
PatientId PK
}
Death
{
DeathId PK
PatientId FK
}
К сожалению, этот дизайн БД неверен, поскольку у вас может быть только один Death
на Patient
.Вместо этого конструкция должна выглядеть следующим образом:
Death
{
PatientId PK
}
Однако это производственная система, и БД не может быть изменена.Я пишу новый интерфейс ASP.Net MVC, поэтому я переписываю слой DAL, используя Entity Framework.
Когда я звоню Patient.Death
, я получаю набор Death
.Я только хочу, чтобы он вернул мне один или ноль Death
(так как Patient
еще может не быть мертвым).
Итак, я вошел в модель и попытался изменить кратность End2 ассоциации на: 0..1 (Zero or One of Death)
, но когда я строю проект, я получаю ошибку:
Кратность не действительна в роли «Смерть» в отношении «RefDeath23».Поскольку свойства зависимой роли не являются ключевыми свойствами, верхняя граница кратности зависимой роли должна быть *.
Может кто-нибудь сказать мне, как, если возможно, я могу заставить это бытьноль или одна ассоциация?