这段代码:
Move result = (from move in db.Moves where move.UserId == currentUserId select move).FirstOrDefault();return View(result);
尝试返回 单个 结果。它抱怨它想要 一系列 结果。因此,您可以使用:
var results = (from move in db.Moves where move.UserId == currentUserId select move).Take(1).ToList();return View(results);
或者:
Move result = (from move in db.Moves where move.UserId == currentUserId select move).FirstOrDefault();return View(new[] { result });顺便说一下,我个人将在这里摆脱查询表达式-它使代码变得比所需的更为复杂。例如,您可以将我的第一个选项重写为:
var results = db.Moves.Where(move => move.UserId == currentUserId).Take(1).ToList();return View(results);
甚至:
return View(db.Moves.Where(move => move.UserId == currentUserId) .Take(1).ToList());



