Использование EF4 Codefirst RC и MVC .NET
У меня есть строго типизированное представление, которое я использую для операций вставки / обновления в моей модели.
Одним из полей является файл / изображение, которое загружается. Я использую код ниже, чтобы сделать это.
Проблема заключается в том, что при редактировании формы во второй раз, если пользователь не выбирает файл, для файла каждый раз устанавливается значение NULL.
Какие разные пути к людям приходят сюда.
Я могу
- Не хранить изображение в БД, но в файловой системе (невозможно, так как эти данные также поступают из внешнего API)
- Изменить мой вид, чтобы иметь отдельную форму для редактирования изображений?
Я уже прочитал
EF4 Code First: как обновить только определенные поля
http://social.msdn.microsoft.com/Forums/en-US/adodotnetentityframework/thread/81a0ee7d-bbe1-416c-9d84-7a30e04730fa/
и что я действительно хотел бы, чтобы исключить обновление поля? Это единственный способ сделать это с помощью приведенного ниже кода? или есть способ получше?
public ActionResult Edit(CruiselineEditModel cruiseline, HttpPostedFileBase LogoData)
{
if (ModelState.IsValid)
{
var cl = Mapper.Map<CruiselineEditModel, Cruiseline>(cruiseline);
Cruiseline orgObj = _cl.GetById(cruiseline.Id);
UpdateModel<Cruiseline>(orgObj, "", null, new string[] { "LogoData" });
if (LogoData != null && LogoData.ContentLength > 0)
{
byte[] imgBinaryData = new byte[LogoData.ContentLength];
int readresult = LogoData.InputStream.Read(imgBinaryData, 0, LogoData.ContentLength);
orgObj.LogoData = imgBinaryData;
}
_cl.Save();
}
return View(cruiseline);
}