我有一个SQL表,用于存储带有smallint SortOrder字段的照片.用户可以插入新照片,指定小数排序顺序,将新记录放在2张现有照片之间(或第一张照片之前).SortOrder将存储为smallint,因此当我检测到插入将移动现有记录时,我需要更新所有受影响的照片以将SortOrder增加1.
这在存储过程中很容易实现,但我正在寻找使用Linq to SQL实现此目的的最有效方法.如果我必须将所有记录下载到客户端,更新它们,然后提交它们,那么我将坚持使用已经工作且速度非常快的存储过程.
这是改变记录的T-SQL:
UPDATE Photo
SET SortOrder = SortOrder + 1
WHERE AlbumId = @AlbumId
AND SortOrder >= CEILING(@SortOrder)
Run Code Online (Sandbox Code Playgroud)
有没有办法在Linq to SQL中进行这种批量更新而无需获取记录?
| 归档时间: |
|
| 查看次数: |
3455 次 |
| 最近记录: |