Ниже в коде не срабатывает
MC.Photos.Add(image);
[HttpPost]
public ActionResult AddEvent(Event newEvent, HttpPostedFileBase file)
{
if (ModelState.IsValid)
{
if (file != null)
{
var image = new Photo()
{
ImageMimeType = file.ContentType,
ImageData = new byte[file.ContentLength]
};
file.InputStream.Read(image.ImageData, 0, file.ContentLength);
MC.Photos.Add(image);
}
newEvent.PhotoId = newEvent.EventId+1;
MC.Events.Add(newEvent);
MC.SaveChanges();
}
return Redirect("Index");
}
Сущность Photo
public class Photo
{
[Key]
public int PhotoId { get; set; }
public byte[] ImageData { get; set; }
public string ImageMimeType { get; set; }
}
Почему не сохраняет вторую таблицу? Может проблема в форме?
@using (Html.BeginForm("AddEvent", "Admin"))
{
<table>
<tr>
<td>Название мероприятия</td>
<td>@Html.EditorFor(modelItem => modelItem.NameOfEvent)</td>
</tr>
<tr>
<td>Дата мероприятия</td>
<td>@Html.EditorFor(modelItem => modelItem.DateOfEvent)</td>
</tr>
<tr>
<td>Описание</td>
<td>@Html.EditorFor(modelItem => modelItem.Description)</td>
</tr>
<tr>
<td>Количество билетов</td>
<td>@Html.EditorFor(modelItem => modelItem.CountOfTickets)</td>
</tr>
<tr>
<td>Цена билетов</td>
<td>@Html.EditorFor(modelItem => modelItem.CostOfTicket)</td>
</tr>
<tr>
<td>Изображение</td>
<td><input type="file" name="file" /></td>
</tr>
</table>
<input type="submit" value="Добавить" />
}
Проблема была в том, что я не указал в параметрах формы
FormMethod.Post, new { enctype = "multipart/form-data" }
Сборка персонального компьютера от Artline: умный выбор для современных пользователей