gpt4 book ai didi

c# - 具有多个 group by 列的 linq 语句不允许 thenby

转载 作者:太空狗 更新时间:2023-10-30 00:25:34 25 4
gpt4 key购买 nike

我是 LINQ 的新手,所以请放慢我的脚步。

我有一个 LINQ 语句,我在其中对多个列进行了分组。根据搜索,它根据与搜索的匹配程度对每条记录进行排名。

  • 1 分。名字的第一个字母
  • 2 分。名字的前 2 个字母
  • 名字匹配 4 分
  • 8 分。用于姓氏匹配

所以第一个 Order By 就是这样。然后我想要一个 Thenby 语句来按 FirstName 排序

var ResultsListOrdered = from O in ResultsList
group O by new
{
O.FirstName,
O.LastName,
O.SSN,
O.Email,
O.Phone
} into g
orderby g.Max().ResultMatch descending
thenby g.Key.FirstName ascending
select new SearchResultViewModel
{
ID = g.Max().ID,
FirstName = ti.ToTitleCase(g.Key.FirstName.ToLower()),
LastName = ti.ToTitleCase(g.Key.LastName.ToLower()),
SSN = g.Key.SSN,
Email = g.Key.Email.ToLower(),
Phone = g.Key.Phone,
ResultMatch = g.Max().ResultMatch
};`

如果您删除 thenby 行,则 if LINQ 语句有效。但是一旦放入它就不起作用。

这应该有效。任何帮助都会很棒

这是我将鼠标悬停在上面时显示的错误

enter image description here

好的,我在这里添加这个用于下面的评论,因为我无法将图像添加到评论中

enter image description here

enter image description here

最佳答案

thenby 不是有效关键字,请使用 orderby g.Max().ResultMatch 降序,g.Key.FirstName 升序

您可以在 ThenBy 中看到解释运算符(operator):

In query expression syntax, an orderby [first criterion], [second criterion] (Visual C#) or Order By [first criterion], [second criterion] (Visual Basic) clause translates to an invocation of ThenBy.

关于c# - 具有多个 group by 列的 linq 语句不允许 thenby,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16658483/

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