2

好吧,所以我试图根据 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 名称,seats 是表名,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()”,但结果仍然相同。

所以我的问题是我想更改 Bus ID 为 1 且 Seat ID 为 A2 的值,但是如您所见,它会更改 BusID = 1 的每一行的值?

4

1 回答 1

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 的表中。请让我知道的情况下。

于 2014-01-02T10:56:50.477 回答