C# Razor页面多行更新
我在Index.cshtml.cs中有以下代码(这不是MVC)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
[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");
}