Ho avuto lo stesso problema, ovvero la prima volta che l'immagine è stata salvata correttamente lato database, ma se successivamente la convalida non è riuscita e poi ho provato a salvare nuovamente l'immagine dopo aver inserito dati validi, avrei ottenuto 0x
nella colonna dell'immagine. Per risolverlo ho fatto ciò che @Ann L.
ha detto:
byte[] photo = null;
if(model.Photo != null)
{
var stream = model.Photo.InputStream;
stream.Position = 0;
using(BinaryReader br = new BinaryReader(model.Photo.InputStream))
{
photo = br.ReadBytes(model.Photo.ContentLength);
}
}