Razor Pages.ASP.NET中的多重更新查询



我正在尝试使用Razor Pages(而不是MVC!(为sqlite DB开发一个小型前端。

看起来它以不同的方式支持SQL,不像我过去那样。

例如,我需要为字段Pl_Pos(记录在列表中的位置(重新赋值。现在我这样做:

for (int i = PlnPos + 1; i<= PlModelIndexModel.PlnModelTotal; i++)
{
PlnModel PlnModelRedo = await _context.Plane_Models.FirstOrDefaultAsync(m => m.Pl_Model_Pos == i);
PlnModelRedo.Pl_Model_Pos = i - 1;
_context.Attach(PlnModelRedo).State = EntityState.Modified;
await _context.SaveChangesAsync();
}

有没有其他方法可以更有效地做到这一点,比如:

Update Pl_Models set Pl._Models.Pl_Pos = Pl_Models set Pl._Models.Pl_Pos - 1 where Pl_Models set Pl._Models.Pl_Pos > PlnPos

我有点卡住了。。。

提前感谢!

我不完全确定你在问什么,但听起来像您正在执行LINQ语句或foreach循环。

var PlaneModels = _context.Plane_Models.ToList();
foreach(PlaneModel pm in PlaneModels)
{
PlaneModel.Pl_Model_Pos -= 1;
}
_context.Plane_Models.UpdateRange(PlaneModels);
await _context.SaveChangesAsync();

您何时尝试修改记录在列表中的位置?插入/附加/删除记录时,还是将其用作显示索引?

最新更新