Как установить значение «Изображение» по умолчанию для свойств класса базы данных с помощью Fluent API в ядре asp.net?

Я пытаюсь установить «Image» по умолчанию для свойств кода в моем DBContext, и мне нужно использовать инъекцию зависимостей, чтобы добавить «IHostingEnvironment», чтобы получить корневой путь. Как я могу добавить 'IHostingEnvironment' к своему 'OnModelCreating ()', чтобы получить доступ к пути для поиска моих изображений в каталогах и установить их в качестве значения по умолчанию для определенного свойства моего класса базы данных?

Я использую Asp.net core 2.2 и не могу найти ответ

protected override void OnModelCreating(ModelBuilder builder,IFormFile img)
{
   base.OnModelCreating(builder);
   builder.Entity<ApplicationUser>(entity =>
   { 
      ...
      byte[] b = new byte[img.Length];
      img.OpenReadStream().Read(b, 0, b.Length);
      p.img = b;
      entity.Property(b => b.UserImage).HasDefaultValue(b);
      ...
   });
}

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

Всего 1 ответ


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


Есть идеи?

10000