У меня есть устаревшая база данных, в которой есть таблица с именем Address. Теперь две другие таблицы могут иметь адресную информацию. Чтобы определить, из какой таблицы он пришел, есть поле SourceID. Если SourceID равен 1, то он связан с первой таблицей, если он равен 2, это информация об адресе для второй таблицы.
Эта устаревшая база данных не имеет ограничений внешнего ключа, определенных в базе данных, и не может быть добавлена.
Мне интересно, использую ли я Entity Framework для создания модели, которая будет иметь эту связь. Где таблица 1 может иметь объект, имеющий навигацию для адресации информации (с условием, что SourceID = 1) и такой же со второй таблицей.
Я попытался создать условное сопоставление и установить для него значение «Когда SourceID = 1». Я также удалил сопоставление из сопоставления столбца, поскольку столбец можно сопоставить только один раз. Когда я пытаюсь скомпилировать, я получаю следующую ошибку:
Ошибка 3004. Проблема при сопоставлении фрагментов, начинающихся со строки 683. Не указано сопоставление для свойств Address.SourceID в параметре Set Addresses. Объект с ключом (PK) не будет проходить в обоих направлениях, когда: объект имеет тип [Model.Address]
Спасибо за вашу помощь!