我在保存我的教练对象时遇到问题。除了教练,一切都得到了保存。我查看了对象训练并填写了所有属性。(还有位置和训练器的属性)我没有收到错误,但训练器对象没有被保存。
这是我的代码:
Context db=new Context();
public void modifieTraining(Training training)
{
db.Entry(training.Location).State = EntityState.Modified;
db.Entry(training.Trainer).State = EntityState.Modified;
db.Entry(training).State = EntityState.Modified;
db.SaveChanges();
}
这是我得到的唯一对象:
@Html.DropDownList("trainer", new SelectList(ViewBag.Trainer, "TrainerId", "Firstname"), "Selecteer een trainer")
@Html.TextBoxFor(model => model.Location.Address)
@Html.TextBoxFor(model=>model.Location.City)
...
稍后在我的控制器中:
public ActionResult EditTraining(int id, Training training, string trainer)
{
if (trainer != null && trainer!="Selecteer een trainer" )
{
training.Trainer = repository.getTrainer(Convert.ToInt32(trainer));
}
repository.modifieTraining(training);
return RedirectToAction("Index");
}
出于某种奇怪的原因,当我重新启动机器时,一切都很好。但是当我打开 sql server management studio 时。它仍然向我显示 NULL 值。但是当我执行 get 方法时,会显示正确的值。
可能是因为该字段可以为空吗?