【发布时间】:2019-05-11 19:31:01
【问题描述】:
我有一个 linq 查询随着时间的推移而改变。
当前版本抓取一堆行(可以复制),将它们按PageId 分组,然后将它们按Volume 排序并选择每个组中的第一项。分组结果输出到新类。
查询以两条相邻的 Select 语句结束。感觉“错误”,但我已经尝试了各种方式来组合两个 Select 语句,特别是尝试将第二个 .Select() 嵌入到 .First() - 是否有可能或者我已经尽可能简洁了?
这是我尝试进行更改时遇到的错误之一:
Cannot convert lambda expression to intended delegate type because some of the elements in the block are not implicitly convertible to the delegate return type.
查询。
var result = Base.View.Query<Keyword>(query, inc => inc.Page)
.GroupBy(g => g.PageId)
.Select(g => g.OrderByDescending(o => o.Volume).First())
.Select(r => new LinkDTO(
r.Term.ToLower().HighlightExcept(reservedWords),
currentUrl.ToAbsolute(r.Page.Path)));
【问题讨论】: