任何人都可以建议查询以获取LINQ中集合中的上一条记录。
我已经写了下面的内容以获得下一页,它运作良好。但是我无法获得列表的前一个元素。
menu = _applicationContext.RightMenu.FirstOrDefault(x => x.PageOrder > currentPageNo);
使用
menu = _applicationContext.RightMenu.FirstOrDefault(x => x.PageOrder < currentPageNo);
它只显示集合中的第一个元素,而不是前一个元素。
答案 0 :(得分:3)
假设RightMenu
处于升序PageOrder
,您希望最后一项小于currentPage
。您需要将.FirstOrDefault()
更改为.LastOrDefault()
第二行。
答案 1 :(得分:1)
这样做:
menu = _applicationContext.RightMenu.LastOrDefault(x => x.PageOrder < currentPageNo);
答案 2 :(得分:0)
这是获取前一个元素的另一种方法:
menu = _applicationContext.RightMenu.FirstOrDefault(x => x.PageOrder == (currentPageNo-1));