當我用模型第一形式給出此代碼工作得很好。如果它是new Vote()
,則保存投票。我想模型第一次生成的類在屬性設置器上使用了一些「魔術」,我認爲這就是我們在代碼的第一個屬性中放置了virtual
。有沒有辦法讓它工作起來舊式?或者我應該搜索並替換並以某種其他方式將新對象綁定到圖表上?從模型首先遷移到代碼首先,一些重大的變動
public ActionResult Vote(int id, string votetype)
{
int userid = ViewBag.User.Id;
var pub = DB.Publications.Single(p => p.Id == id);
var votes = pub.Votes.SingleOrDefault(v => v.MemberId == userid) ??
new Vote
{
MemberId = userid,
Publication = pub
};
DB.SaveChanges();
return RedirectToAction("Full", new { id = id });
}
這段代碼應該做什麼?特別是爲什麼'SaveChanges'?您只需從數據庫中查詢實體,但不會更改任何內容,也不會將新實體添加到上下文中。 – Slauma