【发布时间】:2018-12-29 08:54:41
【问题描述】:
我有这个错误,我不知道如何解决它。我在互联网上搜索了如何解决,每次都是由一些 sql 命令引起的(我不明白,这不是我的情况)。
代码如下:
public ActionResult ConfirmarCandidatura(int id)
{
Candidatura candidatura = db.Candidaturas.Find(id);
db.Propostas.SingleOrDefault(x => x.PropostaId == candidatura.PropostaId).CandidaturaAceite = candidatura;
db.Propostas.SingleOrDefault(x => x.PropostaId == candidatura.PropostaId).CandidaturaId = candidatura.CandidaturaId;
db.Candidaturas.Find(id).CandidaturaAceite = true;
var candidaturas = db.Candidaturas.Where(x => x.PropostaId == candidatura.PropostaId);
foreach(Candidatura c in candidaturas)
{
db.Candidaturas.SingleOrDefault(u => u.CandidaturaId == c.CandidaturaId).CandidaturaRejeitada = true;
}
db.SaveChanges();
return RedirectToAction("CandidaturasRecebidas","Candidaturas");
}
【问题讨论】:
-
假设
CandidaturaId是Candiaturas的唯一键,您不需要在foreach中调用SingleOrDefault。只需执行c.CandidaturaRejeitada = true;否则您将再次调用数据库以获取您已经拥有的实体。
标签: c# asp.net-mvc linq