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