Мне нужна помощь в разработке структуры Entity Framework Model для моего текущего проекта.
Самым базовым элементом в моем проекте является Job
, который имеет несколько свойств. Job
может быть создан в системе internally
или externally
. Во втором случае он обладает теми же свойствами, что и обычный Job
, но также имеет некоторые дополнительные свойства (внешний ссылочный номер, исходная система и т. Д.). Существует также возможность создания BookingJob
, который фактически является тем же заданием, но опять же с некоторыми другими дополнительными свойствами (Дата бронирования, Пользователь бронирования и т. Д.).
Так что теперь у нас есть Job
, ExternalJob
, который является производным от Job
и BookingJob
, который может быть получен либо непосредственно из Job
, либо из ExternalJob
(поскольку он также может быть создан из внешнего система).
Кроме того, задания могут быть созданы для Maintenance
или Repair
. Эти 2 сильно отличаются по своим свойствам, хотя имеют одинаковые базовые свойства с Job
и могут быть внутренними, внешними или резервными.
Подводя итог, я могу получить следующее:
- Внутреннее техническое обслуживание
- Внутренние ремонтные работы
- Работа по внутреннему резервированию
- Внутренний заказ на ремонтные работы
- Внешнее техническое обслуживание
- Внешние ремонтные работы
- Работа по внешнему бронированию
- Внешнее резервирование Ремонтное задание
Я пытаюсь найти хороший дизайн и создать модель сущности, которую будет легко поддерживать и не очень проблематично сопоставить с ViewModels для моего WebAPI, но в то же время избегайте создания одной таблицы с ненужными столбцами.