Я создаю модель предметной области, которая требует, чтобы несколько таблиц могли быть ссылками более чем на одну возможную родительскую таблицу. Например, у вас может быть таблица для хранения заметок или файлов, и эти заметки и/или файлы могут быть связаны с разными родительскими объектами. Дело не в том, что один и тот же «файл» или «заметка» могут быть связаны с несколькими владельцами, а в том, что из 10 строк в таблице «файлы» 3 из них могут принадлежать строкам из таблицы «Клиент», 3 из них могут быть принадлежат строкам из таблицы «Заказы», а 4 из них могут принадлежать строкам из таблицы «Лица».
Все таблицы-владельцы имеют виртуальные ICollections дочерних таблиц.
Когда я прогнал свою модель через первую миграцию кода для начальной миграции и посмотрел на сгенерированный свободный код, определение таблицы для этих таблиц включало несколько столбцов идентификаторов, которые ссылались на исходную таблицу, так что должен был быть столбец «customer_id », «person_id» и т. д. (по одному для каждой возможной «сущности-владельца». Это кажется не совсем «правильным». Есть ли лучший способ смоделировать это в EF с помощью CodeFirst? Например, возможность использовать столбец дискриминатора в дочерняя таблица, которая дает «подсказку» о владеющем объекте?
Спасибо, - г-н Б.