このコードは、モデルを最初に使用したときにうまく機能しました。そして、もしそれが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'はなぜですか?あなたはDBからエンティティを照会するだけですが、何も変更したり、新しいエンティティをコンテキストに追加することはありません。 – Slauma