我想使用
Linq从模型列表中获取最常见的字符串,但我真的不知道如何.
这是一些示例代码:
public ModelClass { public string name { get; set; } public int num { get; set; } }
想象一下,一个巨大的ModelClass列表存储在数据库中
// in some controller var model = from s in _db.SomeClass select s; string mostCommonName = ???????
如何使用linq从此列表中找到最常用的名称?
解决方法
您可以使用GroupBy()来帮助查找具有相同值的字符串
var mostCommonName = _db.SomeClass .GroupBy(x => x.Name) .Select(x => new { Name = x.Key,Count = x.Count() }) .OrderByDescending(x => x.Count) .Select(x => x.Name) .First();