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()" だけを試しましたが、結果は同じです。

だから私の問題は、バス ID が 1 で座席 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 に答える