Проблема с вашим свойством File
в классе Image
. Потому что EntityFramework не понимает тип HttpPostedFileBase
и не может сохранить его в БД, а генератор контроллера достаточно умен, чтобы это проверить. Хотя сообщение об ошибке не говорит вам, в чем проблема. Чтобы это исправить, вам нужно переписать ваше свойство для использования байтового массива:
public class Image
{
...
public byte[] File { get; set; }
}
И тогда генерация контроллера должна работать. И вы можете добавить свое собственное действие по загрузке изображений, примерно так:
[HttpPost]
public ActionResult Upload(Image image, HttpPostedFileBase file)
{
if (ModelState.IsValid)
{
db.Entry(image).State = EntityState.Modified;
image.File = new byte[file.ContentLength];
file.InputStream.Read(image.File, 0, file.ContentLength);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(image);
}