Лично я считаю, что нули должны использоваться только тогда, когда вы используете это поле в качестве внешнего ключа для другой таблицы, чтобы символизировать, что эта запись не ссылается ни на что в другой таблице. Кроме этого, я считаю, что нулевые значения на самом деле очень сложны при программировании логики приложения. Поскольку нет прямого представления нулевой базы данных в большинстве языков программирования для многих типов данных, это приводит к созданию большого количества кода приложения, чтобы справиться со значением этих нулевых значений. Когда БД встречает нулевое целое число и пытается, например, добавить к нему значение 1 (aka null + 1), база данных вернет значение null, так как именно так определяется логика. Однако, когда язык программирования пытается добавить null и 1, он обычно генерирует исключение. Таким образом, ваш код заканчивается проверкой того, что делать, когда значение равно null, что часто просто приравнивается к преобразованию в 0 для чисел, пустой строке для текста и некоторой нулевой дате (1900/1/1?) Для полей даты .
Таким образом, я изменил установку VS2017 и в рамках ASP.NET и веб-разработки я удалил ее, переустановил и убедился, что ASP.NET MVC 4 был отмечен галочкой в разделе «Необязательно».