как моделировать базу данных и EF, когда тип определяет ссылку - PullRequest
0 голосов
/ 04 мая 2020

Борьба за моделирование базы данных по типу.

Построение системы с функциональностью для поиска .

Поиск имеет источник данных, примеры; Таблица Excel или msl или rest-api

Тип данных, которые вы будете хранить для каждого, совершенно различен.

Пример: Excel - имя листа и, возможно, путь или физический файл Sql - имя базы данных, имя сервера, порт, имя пользователя, пароль

теперь, как бы вы структурировали свои данные, учитывая, что тип (typeid) даст разные типы данных или является обычной практикой иметь 1 таблицу со всеми полями.

вариант 1;

Table: Lookup
Id
Name
DatsourceExcelId   nullable forgien key
DatsourceSqlId     nullable forgien key
TypeId

Table: DataSourceExcel
Id
DataSourceName
... other fields

Table: DataSourceSql
Id
DataSourceName
... other fields

вариант 2;

Table: Lookup
Id
Name

Table: DataSource
Name
TypeId
CorrulationId  -- links to either DataSourceExcel or DataSourceSql based on type


Table: DataSourceExcel
Id
... other fields

Table: DataSourceSql
Id
... other fields

Я считаю, что должен быть лучший способ смоделировать связь данных, но, похоже, не может найти хороший компромисс.

Проблема в настоящее время у меня есть вариант 1;

получение данных становится болезненным.

думает о переходе на второй вариант, оба требуют много работы, чтобы заставить вещи работать. Прежде чем тратить время на вариант 2, существует ли более эффективный способ.

Это все равно, что пытаться создать контакт, но нет контакта, так как он основан на типе.

Спасибо за любой совет или мысли

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...