我有这样的代码:
[HttpPost]
public static bool AggiornaInstallatore(FormCollection form)
{
using (var ctx = new termostore_installazione_Entities())
{
var idr = Convert.ToInt32(form["id_installatore"]);
var installatore = ctx.installatori.Where(x => x.Id == idr).FirstOrDefault();
var squad = Convert.ToInt16(form["squadra"]);
var squadra = ctx.squadra.Where(x => x.id == squad).FirstOrDefault();
if (form["edit_nome"] != "") { installatore.nome = form["edit_nome"]; }
if (form["edit_cognome"] != "") { installatore.cognome = form["edit_cognome"]; }
if (form["edit_email"] != "") { installatore.mail = form["edit_email"]; }
if (form["edit_telefono"] != "") { installatore.telefono = form["edit_telefono"]; }
if (form["edit_indirizzo"] != "") { installatore.indirizzo = form["edit_indirizzo"]; }
if (form["edit_zona_competenza"] != "") { installatore.zona_competenza = form["edit_zona_competenza"]; }
installatore.squadra.Add(squadra);
ctx.SaveChanges();
}
return true;
}
现在,我没有添加squadra
,而是想更新此记录,但我不知道该怎么做。
答案 0 :(得分:1)
不是将元素squadra
添加到列表中,而是可以从db更新对象的每个元素:
//The element you already have in your example
var squadra = ctx.squadra.Where(x => x.id == squad).FirstOrDefault();
squadra.name = form.name; //I assume you get te updated value from form
squadra.type = form.type;
...
ctx.SaveChanges();
您已更新了小队元素,并且使用SaveChanges
方法,即使在数据库上也会设置更新。