1

我有一张桌子:

用户名|已完成
Moran|0
Moran|1
Moran|1
Moran|0
Russ|1
Russ|1
Russ|1
James|0
James|0
James|1

我需要一个 LINQ 查询(或 CAML,因为这是 Sharepoint 2010),它将拉回以下结果:

来自竞争列的不同用户名和 0 计数。这将表明用户 Moran 有 2 个未完成的任务,Russ 没有,James 有 2

莫兰|2 拉斯|0 詹姆斯|2

以下查询适用于 SQL

SELECT DISTINCT a.UserName, (select count(*) FROM AmexTransactions WHERE Completed = 0 AND UserName = a.UserName) FROM AmexTransactions a

我需要在 LINQ 或 Sharepoint 2010 对象中使用它,并将数据存储在 SP2010 列表中。

4

1 回答 1

0

尝试这个:

var result = dataContext.AmexTransactions
                        .GroupBy(x => x.UserName)
                        .Select(g => new
                        {
                            UserName = g.Key,
                            IncompleteTasks = g.Count(x => x.Completed == 0)
                        })
                        .ToList();
于 2012-05-29T06:13:38.620 回答