Необязательное свойство, но обязательный ввод - PullRequest
0 голосов
/ 25 января 2019

В моем конкретном случае я импортирую данные из устаревшего приложения. В новом приложении у меня есть свойство модели (GradYear), которого не было в унаследованном приложении. Мне нужно импортировать данные из устаревшей базы данных в новую базу данных для исторических целей. Однако в новом приложении GradYear равно required.

Используя EF Core и Razor Pages, есть ли способ сделать GradYear обязательным на уровне визуализированного входного текстового поля, но необязательным в схеме БД?

1 Ответ

0 голосов
/ 25 января 2019

Я могу подумать в этом возможном решении:

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

Другой способ (не проверенный) - это декорирование вашего свойства как требуется, но переопределение OnModelCreating следующим образом:

public class YourAppContext : DbContext
{
   protected override void OnModelCreating(DbModelBuilder modelBuilder)
   {
      ...
      modelBuilder.Entity<YourDbContextEntity>.Property(p => p.GradYear).IsOptional();
      ...
   }

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