C# Razor页面多行更新

C# Razor页面多行更新,c#,razor,razor-pages,C#,Razor,Razor Pages,我在Index.cshtml.cs中有以下代码(这不是MVC) [BindProperty] 公共库存MyInventory{get;set;} 公共异步任务OnPostClearAllAsync() { MyInventory=wait_context.Inventory.FirstOrDefaultAsync(m=>m.Current_State!=“DEPLOYED”); MyInventory.Verify=“0”; _Attach(MyInventory).State=EntitySt

我在Index.cshtml.cs中有以下代码(这不是MVC)

[BindProperty]
公共库存MyInventory{get;set;}
公共异步任务OnPostClearAllAsync()
{
MyInventory=wait_context.Inventory.FirstOrDefaultAsync(m=>m.Current_State!=“DEPLOYED”);
MyInventory.Verify=“0”;
_Attach(MyInventory).State=EntityState.Modified;
wait_context.SaveChangesAsync();
返回页首(“/索引”);
}

代码运行良好,但仅适用于单行(第一次出现)。我想更新当前_State!=“已部署”。请帮助并感谢您。

最好提供更多详细信息,这些信息将贯穿所有库存上下文

public async Task<IActionResult> OnPostClearAllAsync()
{
   MyInventory = await _context.Inventory.Where(m => m.Current_State.ToLower() != 
   "deployed");
   MyInventory.Verify = "0";
   _context.Attach(MyInventory).State = EntityState.Modified;
   await _context.SaveChangesAsync();
   return RedirectToPage("./Index");
 }
公共异步任务OnPostClearAllAsync() { MyInventory=wait\u context.Inventory.Where(m=>m.Current\u State.ToLower()!= “已部署”); MyInventory.Verify=“0”; _Attach(MyInventory).State=EntityState.Modified; wait_context.SaveChangesAsync(); 返回页首(“/索引”); }
我已经解决了自己的问题,这里是:

public async Task<IActionResult> OnPostClearAllAsync()
{
   var result = await _context.Inventory.Where(m => m.Current_State != "DEPLOYED").ToListAsync();
   foreach (var item in result)
   {
      item.Verify = "0";
      _context.Attach(item).State = EntityState.Modified;
   }
   await _context.SaveChangesAsync();
   return RedirectToPage("./Index");
}
公共异步任务OnPostClearAllAsync() { var result=await\u context.Inventory.Where(m=>m.Current\u State!=“已部署”).toListSync(); foreach(结果中的var项目) { item.Verify=“0”; _context.Attach(item).State=EntityState.Modified; } wait_context.SaveChangesAsync(); 返回页首(“/索引”); }
@Peter,请通过回答的结果告诉我将“FirstOrDefaultAsync”更改为“Where”后我得到的结果是:“'IQuaryable'不包含'GetAwaiter'的定义,并且找不到可访问的扩展方法'GetAwaiter'接受'IQuaryable'类型的第一个参数。
public async Task<IActionResult> OnPostClearAllAsync()
{
   var result = await _context.Inventory.Where(m => m.Current_State != "DEPLOYED").ToListAsync();
   foreach (var item in result)
   {
      item.Verify = "0";
      _context.Attach(item).State = EntityState.Modified;
   }
   await _context.SaveChangesAsync();
   return RedirectToPage("./Index");
}