解決方案:在與會議具有fk關係的同一頁面上使用了其他實體,因此,更改預訂表中的meetingid
會導致引用完整性錯誤。無法編輯外鍵屬性
我有一個具有相關預訂實體的父會議實體。預訂實體的字段meetingid
是會議表的外鍵。
在視圖中,我有
@Html.HiddenFor(model => model.bookings.meetingid)
我能夠挽救預定實體,更新它的所有屬性的預期。
現在我想允許用戶更改meetingid
,所以我添加
@Html.EditorFor(m => m.bookings.meetingid)
當我點擊保存,頁面崗位正常,但meetingid
不變。
我嘗試刪除隱藏的meetingid
字段,因爲它現在與文本字段的名稱相同,但這會導致引用完整性錯誤。
這是後置碼...
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Edit(vwbooking vwbooking)
{
if (ModelState.IsValid)
{
db.bookings.Attach(vwbooking.bookings);
vwbooking.bookings.update_date = DateTime.Now;
vwbooking.bookings.updated_by = User.Identity.Name;
db.Entry(vwbooking.bookings).State = EntityState.Modified;
db.SaveChanges();
}
...
哇 - 非常好。它在Attach上。謝謝。 – tintyethan