好吧所以我试图根据2列值选择一行,这是我的代码:
[HttpPost]
public ActionResult Index(Models.Seats ss)
{
var bus = db.Seats.Where(u => u.BusID == ss.BusID && u.SeatID == ss.SeatID).FirstOrDefault();
bus.SeatState = 1;
db.SaveChanges();
return View();
}
其中db是EF名称,seat是表名,ss.BusID保持“1”,ss.SeatID保存“A2”..
在执行代码
之后发现了图片
我的型号代码:
namespace MvcApplication12.Models
{
using System;
using System.Collections.Generic;
public partial class Seats
{
public int BusID { get; set; }
public string SeatID { get; set; }
public Nullable<int> SeatState { get; set; }
}
}
*我单独尝试了“.Find()”和“.firstorDefault()”,但结果仍然相同。
所以我的问题是我要更改总线ID为1且座位ID为A2的值,但正如您所看到的,它会更改BusID = 1的每一行的值?
答案 0 :(得分:3)
请你这样试试:
var busList = db.Seats.Where(u => u.BusID == ss.BusID && u.SeatID == ss.SeatID).ToList();
foreach(var bus in busList)
bus.SeatState = 1;
db.SaveChanges();
我的代码会保存您表中具有必要SeatID和BusID的每一行。如果发生,请告诉我。