我有一张桌子,其中我有一些产品,用户可以使用向上和向下按钮按照他们的要求对产品进行分类,产品将在现场按此顺序显示< / p>
我编写了一个存储过程来更新排序顺序,但是现在我将我的网站转换为Linq to Sql,我仍然坚持如何根据用户的操作更新排序顺序。
这是我的存储过程。
ALTER PROCEDURE [dbo].[user_SortProductsOrder]
@CurrentSortOrder INT,
@TempSortOrder INT,
@TownId INT,
@SectionId INT
AS
BEGIN
UPDATE HomePageSectionSettings SET SortOrder =
CASE SortOrder WHEN @TempSortOrder THEN @CurrentSortOrder
WHEN @CurrentSortOrder THEN @TempSortOrder
ELSE SortOrder
END
WHERE TownId = @TownId
AND SectionId = @SectionId
END
下面是我正在尝试使用Linq to Sql但是徒劳无功。
var updateSortOrder = db.HomePageSectionSettings.Where(item => item.TownId == int.Parse(drpTowns.SelectedValue) && item.SectionId == int.Parse(drpSectionName.SelectedValue)).FirstOrDefault();
if (updateSortOrder.SortOrder == tempSortOrder)
{
updateSortOrder.SortOrder = currentSortOrder;
}
else if (updateSortOrder.SortOrder == currentSortOrder)
{
updateSortOrder.SortOrder = tempSortOrder;
}
db.SubmitChanges();
我可以理解if逻辑出了什么问题,但是我无法得出正确的结论
任何人都可以帮助修复这个逻辑。