Вам нужно создать его как байт, и ваша БД должна быть blob
var image = new ImageEntity(){
imageReference= convertImageToByteArray(image)
}
_Context.Images.Add(image);
_Context.SaveChanges();
Преобразование вашего изображения в байтовый массив:
public byte[] convertImageToByteArray(Image imageIn)
{
MemoryStream memStream = new MemoryStream();
imageIn.Save(memStream , ImageFormat.Gif); //u may choose other formats
return memStream .ToArray();
}
Я бы порекомендовал сохранить путь к файлу в качестве ссылки, а не сохранять его в виде большого двоичного объекта, если у вас нет выбора. Это связано с тем, что большая БД снижает производительность, а жесткий диск лучше справляется с обработкой файлов. Если размер ваших файлов изображений превышает 1 МБ, файловая система имеет преимущество перед SQL Server. Кроме того, хранение его в файловой системе обеспечивает большую гибкость (т. Е. Вы можете перенести файлы в другое место в следующий раз и изменить ссылку в БД во время миграции, вы не можете сделать это в БД)