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