У меня есть метод post, который создает новый крем
public ActionResult CreateCream(CreamModel cream, string creamTypeId)
{
if (ModelState.IsValid)
{
if (creamTypeId != string.Empty)
{
try
{
cream.CreamTypeModel_id = int.Parse(creamTypeId);
creamManager.CreateCream(cream);
TempData["message"] = string.Format("Игрок {0} сохранен", cream.Name);
return RedirectToAction("Index", "Home");
}
catch (Exception exc)
{
Console.WriteLine(exc.Message);
}
}
}
ViewBag.ChoosingCreamType = GetCreamSelectList();
return View(cream);
}
когда я звоню
public void CreateCream(CreamModel newCream)
{
if (newCream.Id == 0)
{
context.CreamModels.Add(newCream);
context.SaveChanges();
}
}
когда я звоню context.SaveChanges()
, код не работает, и я иду на View
вместо redirect
! Я не понимаю, почему это не работает? Если я удаляю SaveChanges()
, он выполняется, но не сохраняется в базе данных.
моя модель
public class CreamModel
{
[Key]
public int Id { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public decimal Price { get; set; }
public string ImageName { get; set; }
public int? CreamTypeModel_id { get; set; }
public CreamTypeModel CreamTypeModel { get; set; }
}
сообщение об ошибке
SqlException: указано имя столбца 'CreamTypeModel_id'
чем один раз в предложении SET или списке столбцов INSERT. Колонна
нельзя присвоить более одного значения в одном и том же предложении. Изменить
чтобы убедиться, что столбец обновляется только один раз. Если это
оператор обновляет или вставляет столбцы в представление, алиасинг столбцов может
скрыть дублирование в вашем коде.