带计数的C#查询

时间:2017-08-18 08:46:46

标签: c# linq

我有一个拥有多个属性的用户列表,我想知道谁和如何使用相同的代码(这是一个用户属性)

例如:

  • 用户1:雅各布,代码1
  • 用户2:查理,代码1
  • 用户3:Thomas,代码2

我需要查询并得到如下结果:

+--------+--------+
| Object |  Count |
+--------+--------+
| user 1 |    2   |
| user 2 |    2   |
| user 3 |    1   |
+--------+--------+

" 2"因为2个用户拥有相同的代码和#34; 1"因为只有一个人有代码

有人可以帮我吗?

2 个答案:

答案 0 :(得分:9)

你可以使用这个linq。根据您的情况更改tablenamefield name

(from user in _context.Users
             let count = _context.Users.Where(p=>p.code == user.code).Count()
                 select new {user.username, count = count}).ToList()

答案 1 :(得分:1)

让我们尝试下面的代码。我认为它可以帮到你:

var result = mycontext.users.GroupBy(p=>p.User).Select(p=>new { Object  = p.Key, Count = p.Count()});