gpt4 book ai didi

Linq To Entities 获取列表中的倒数第二个条目

转载 作者:行者123 更新时间:2023-12-04 23:06:12 25 4
gpt4 key购买 nike

我有以下代码返回对象列表。

var listOfLogins = _logService.GetLogEventsByItemID(137).ToList();

我想获得此列表中的倒数第二个对象。

有谁知道如何使用 Linq to Entities 做到这一点?

谢谢。

最佳答案

var secondlast = _logService.GetLogEventsByItemID(137)
.Reverse()
.Skip(1)
.Take(1)
.FirstOrDefault();

更新
@Dherik 在他的评论中提出了一个很好的观点 .Reverse LINQ to Entities 实际上并不支持,并且会导致在调用 reverse 时对查询进行评估,而不是在调用 .FirstOrDefault 时进行评估。 . See here对于所有(不)支持的方法。

替代(LINQ to Entities 友好)解决方案要求您有一个合适的字段进行排序(无论如何必须如此,否则“倒数第二”没有相关性):
var secondlast = _logService.GetLogEventsByItemID(137)
.OrderByDescending(e => e.EventDate /* could be any db field */)
.Skip(1)
.Take(1)
.FirstOrDefault();

关于Linq To Entities 获取列表中的倒数第二个条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11632883/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com