c# – 带有Entity Framework的ASP.net MVC重新排序数据库记录

我一直在努力寻找可以帮助我解决问题的资源,这似乎是一个相当棘手的问题.

假设我在DB中有一个表(100条记录),其中包含一个整数序列字段(增量).现在我具有重新排序列表的功能,其中用户可以将项目从底部拖到中间(例如,序列100 – > 50).

目前我将记录序列设置为50,之后的每个记录将更新为1到它们的序列. (例如50变为51,51变为52)等……

对我来说,这是一种效率低下的方式,因为它必须更新50条记录才能改变顺序,特别是如果表的大小增加,可能需要一段时间.

有没有有效的方法来进行重新排序,而不需要更新每条记录?

最佳答案 我不明白为什么你发现这是一个问题,你正在更新50条记录,这正是用户正在做的事情.此外,如果表格确实增长,如果计算机无法处理,用户可能会重新排序UI中的那么多项目.

如果实体本身很重,您只需要更改数字,那么您可以编写存储过程或通过EF执行原始SQL以执行此特定操作.

点赞