我正在尝试使用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
我卡住了一点...
谢谢!
答案 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();
您何时尝试修改记录在列表中的位置?插入/添加/删除记录时,还是将其用作显示索引?