Jeg havde det samme problem, det vil sige første gang billedet blev gemt korrekt på databasesiden, men hvis efterfølgende validering mislykkedes, og så forsøgte jeg at gemme billedet igen efter at have indtastet gyldige data, ville jeg få 0x i billedkolonnen. For at løse det gjorde jeg hvad @Ann L.
sagde:
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);
}
}