У меня есть приложение, в котором магазины могут заполнить анкету. в этом приложении у меня есть две таблицы db.StoreAud(pk:AuditId), которая содержит всю информацию о магазинах, и db.storequests(pk:ReviewId), которая содержит информацию обо всех вопросах.
AuditId — это внешний ключ в таблице db.storequests. Теперь вот проблема, если магазин заполняет анкету, данные отлично сохраняются в базе данных, однако тот же магазин снова выполняет анкету, db.storequests создает новую строку в базе данных с новым значением первичного ключа вместо обновления предыдущего ряд. Вопрос в том, как я могу обновить предыдущую строку, если тот же магазин снова делает ту же анкету. надеюсь, что это сделано с тех пор.
db.StoreAUD
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
[Key]
[Column(Order = 1)]
public int AuditId { get; set; }
public string Date { get; set; }
public int StoreNumber { get; set; }
public string StoreName { get; set; }
db.storequests
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
[Key]
public int ReviewId { get; set; }
public int AuditId { get; set; }
public int QuestionOne { get; set; }
public string QuestionTwo { get; set; }
public string QuestionThree { get; set; }
public string QuestionFour { get; set; }
контроллер
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create(StoreQuestions storequestions)
{
if (ModelState.IsValid)
{
StoreAudit findingAudit = db.StoreAudit.Find(storequestions.AuditId); // grabbing the id from th store audit table
findingAudit.ReadOnlyTickBox = true;
db.StoreQuestions.Add(storequestions);
db.SaveChanges();
return RedirectToAction("Details", "Audit", new { id = storequestions.AuditId });
}
return View(storequestions);
}
Update()
для обновлений. - person mxmissile   schedule 27.03.2017db.StoreQuestions
каждый раз, независимо от того. Вы вообще не ищете StoreQuestions. - person Erik Funkenbusch   schedule 27.03.2017