В longblob вместо массива байт записывается null MYSQL

У меня есть метод в web-api, который отправляет 2 массива байт в базу данных (MYSQL), типы полей longblob. В одно поле(Avatar) приходит массив на 7156 байт, и все прекрасное записывается и отображается, во второе поле(Passport) приходит массив 317611 байт, но этот массив не записывается, а вместо него — null. ТИП ПОЛЯ ТОЧНО LONGBLOB

modelBuilder.Entity<Guest>(entity =>{
entity.Property(e => e.Avatar).HasColumnType("longbob");
entity.Property(e => e.Passport).HasColumnType("longbob");

entity.HasOne(d => d.User).WithMany(p => p.Guests)
    .HasForeignKey(d => d.UserId)
    .OnDelete(DeleteBehavior.SetNull)
    .HasConstraintName("FK_PGUserId");});

Сначала была создана база данных, контекст данных и mapping был создан с помощью команды "Scaffold-DbContext "connection-string" MySql.EntityFrameworkCore -OutputDir sakila -f". Но изначально полей Avatar и Passport там не было, я решила прописать их вручную. Но это не помогло. Также решила сделать миграцию и обновить базу, но это тоже не помогло.

Сам метод

[HttpPost]
public void SavePictures([FromBody] Request value)
var guest = new Guest();
guest.Avatar = value.AvatarBytes;
guest.Passport = value.PassportBytes;
_dbContext.Guests.Add(guest);
_dbContext.SaveChanges();

К нему точно прилетает не пустые значение, к нему приходят массивы байт.

Также я могу непосредственно в саму бд загрузить изображение и всё нормально сохранится. Получается, что проблема в самом web-api.

в чем может быть проблема? буду рада любой помощи


Ответы (1 шт):

Автор решения: Diane

Я попробовала создать контекст базы данных с помощью библиотеки Pomelo.EntityFrameworkCore.MySql, а не MySql.EntityFrameworkCore и всё четко работает. Вчера ночью меня посетила эта мысль, что если в коде ошибок нет, в базе данных тоже, то значит, что проблема может быть в библиотеке:)

→ Ссылка