【发布时间】:2016-09-02 10:07:01
【问题描述】:
我无法找到使用 lambda 表达式的最新答案,并订购了一个包含来自实体的表数据的列表,该列表按“喜欢”排序,没有重复的“机构”,仅显示前 100 名。
我有以下内容,但我猜它并不适用。每次我运行它并检查它,它仍然会出现重复的机构名称。我不知道为什么它不处理重复的机构名称。
public PartialViewResult Top100()
{
List<New_NYC_Usage_Table> data = db.New_NYC_Usage_Table.ToList();
data = db.New_NYC_Usage_Table.Where(x => x.Platform != "TOTAL").ToList();
data = data.OrderByDescending(x => x.Agency).Distinct().ToList();
data = data.OrderByDescending(x => x.Likes_Follows_Etc).Take(100).ToList();
return PartialView("_Data", data);
}
如果我不清楚或者这篇文章不相关或者是重复的主题,请指出正确的方向或 MSDN 链接或提供有用示例的参考,谢谢。
【问题讨论】:
-
Distinct()只占两个相同的行。当多行具有相同的Agency时,您期望会发生什么,取第一行? -
不要每次都使用
.ToList(),你只需要在倒数第二行。每次这样做时,您都在不必要地迭代整个列表。
标签: c# mysql asp.net entity-framework linq