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

时间:2018-07-29 12:13:50

标签: sql asp.net sqlite web razor

我正在尝试使用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

我卡住了一点...

谢谢!

1 个答案:

答案 0 :(得分:0)

我不确定您要问什么,但这听起来像 您只是在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();

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