假设我有一个简单的课程,例如
class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
public int Age { get; set; }
}
我有一个IQueryable<Person>
电话persons
。我想做的就是
SELECT
FirstName,
LastName,
COUNT(Age) As AgeCount
FROM dbo.Persons
GROUP BY FirstName, LastName
如果我们在SQL领域。如何在LINQ中编写此代码?
我看过类似linq的groupby和count帖子,它们都不完全符合我的情况。
您可以按匿名对象分组,然后对每个组进行投影以选择所需的属性:
var result = persons
.GroupBy(p => new { p.FirstName, p.LastName })
.Select(g => new
{
FirstName = g.Key.FirstName,
LastName = g.Key.LastName,
AgeCount = g.Count()
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句