我正嘗試使用實體框架更新數據庫條目。這些實體如下:嘗試使用實體框架更新數據庫代碼首先
public partial class Test
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public Guid identity { get; set; }
public string Name { get; set; }
public int Age { get; set; }
public TestRef Colour { get; set; }
}
public class TestRef
{
public int id { get; set; }
public string favColor { get; set; }
}
,並在相關的控制器編輯的ActionResult如下:
public ActionResult Edit([Bind(Include = "identity,Name,Age,Colour")] Test test)
{
if (ModelState.IsValid)
{
test.Colour = db.TestRefs.Find(test.Colour.id);
db.Tests.Attach(test);
db.Entry(test).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
return View(test);
}
所以在這裏,編輯似乎所有的測試,除了顏色屬性的工作(在所有其他屬性都得到更新,但Color保持原樣,沒有變化)。我假設這是因爲它是一個協會,但我不能爲了我的生活找出原因。
您需要更具體地瞭解什麼是不工作。 Color屬性是否在請求上正確綁定? Color屬性是否未在數據庫中設置? TestRef是否試圖鏈接此Test以存在於數據庫中?請給我們詳細信息。 – Jakotheshadows
Color屬性是綁定的,但未在數據庫中設置。 TestRefs也已經存在於數據庫中。 – ASMoncrieff