Как выполнить обновление для нескольких строк, используя лямбда-выражение Linq в ASP.Net MVC? - PullRequest
0 голосов
/ 14 июня 2019

Я с трудом пытаюсь выполнить обновление для нескольких строк в таблице.

Я пробовал этот код:

PayoutEntities payoutdb = new PayoutEntities();

public void SaveStatusBatch(string batchid)
{
   payout_transaction data = payoutdb.payout_transaction.Where(x => x.batchid == batchid).FirstOrDefault();
   data.status = "Success";
   payoutdb.SaveChanges();
}

Но он обновляет только одну строку, где batchid соответствует тому, что указано в параметре. Я использую Èntity Framework в этом.

Вот так выглядит мой стол:

|batchid|name|status|
|1      |John|      |
|1      |Nick|      |
|1      |Bill|      |
|2      |Ara |      |

Я хотел обновить статус Джона, Ника и Билла до успеха. У вас есть предложения, как мне это сделать?

1 Ответ

1 голос
/ 14 июня 2019

Идея состоит в том, чтобы изменить все данные и затем вызвать SaveChanges объекта DBContext. e.g.:

public void SaveStatusBatch(string batchid)
{
      payout_transaction data = payoutdb.payout_transaction
        .Where(x => x.batchid == batchid)
        .ToList();

      data.ForEach(a=> a.status = "Success");
      payoutdb.SaveChanges();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...