Рекомендация о том, как обрабатывать атрибуты базы данных, вставленные позже, но не обнуляемые - PullRequest
0 голосов
/ 23 марта 2019

У меня есть Vehicle class, который используется для сопоставления с базой данных, некоторые атрибуты или свойства объекта Vehicle будут обновляться различными отделами,

например, менеджер транспортного средства добавит в базу данных новый Vehicle со всеми свойствами с указанием [Required] данных.

Отдел лицензирования добавит Vehicle_NaTIS_Documents и Vehicle_License_Documents

Отдел транспорта добавит Proof_of_Delivery, Purchase_Documents и т. Д.

Проблема в том, что, когда Диспетчер транспортных средств впервые добавляет новую сущность Vehicle, все остальные атрибуты (Vehicle_NaTIS_Documents, Vehicle_License_Documents...) будут нулевыми, а затем обновляются соответствующим отделом.

Так как каждая книга о базах данных рекомендует как можно больше избегать NULL в отношении , я обеспокоен этой моделью, есть ли рекомендация избегать использования NULL для других атрибутов

    public class Vehicle
    {
        public int VehicleID { get; set; }

        [Required]
        public string Order_Number { get; set; }

        [Required]
        public string Registration_Number { get; set; }

        [Required]
        public string Make { get; set; }

        [Required]
        public string Model { get; set; }

        [Required]
        public string Chassis_Number { get; set; }

        [Required]
        public string Engine_Number { get; set; }

        public string Proof_of_Delivery { get; set; }

        public string Purchase_Document { get; set; } 

        public string Vehicle_NaTIS_Document { get; set; } 

        public string Vehicle_License_Document { get; set; } 

        public string Vehicle_Invoice { get; set; } 
   }

1 Ответ

0 голосов
/ 25 марта 2019

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

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

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

  • путь к файлу по умолчанию (решить, использовать ли существующий или несуществующий путь к файлу)
  • или идентификатор по умолчанию (решить, использовать ли nullфайл байтов или фиктивный файл байтов)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...