问一条linq 语句
有一个list<entity> 要得到 entit.id 有那些 并得到它出现的次数
类似sql语句
select id,count(*) from table group by id
用 linq 怎么实现?
[解决办法]
var query = from p in db.entity
group p by p.id into g
let countname = g.Count(x => x.id)
select new
{
id = g.Key,
Count = countname
};
[解决办法]
List<entity> list = new List<entity> { new entity { id = 1, name = "shen" }, new entity { id = 3, name = "bao" }, new entity { id = 1, name = "zz" } };
var v = list.GroupBy(c => c.id).Select(c => new { c.Key, count = c.Count() });
foreach (var vsv in v)
richTextBox1.Text += (vsv.Key.ToString() + ":" + vsv.count.ToString()+"\n");
[解决办法]
使用“Linqer.exe”,可以将Sql转换成Linq
[解决办法]
var query = listEntity.GroupBy(c => c.id);
foreach (var group in query)
{
Console.WriteLine(group.Count().ToString());
}
------解决方案--------------------
至于这个,可以搜索一下GroupJoin是怎么用的。
[解决办法]
至于这个,可以搜索一下GroupJoin是怎么用的。
[解决办法]
var query = from p in db.entity
where list2.Select(q=>q.cid).Contains(p.id)
group p by p.id into g
select new
{
id = g.Key,
Count = g.Count(x => x.id)
};
http://msdn.microsoft.com/en-us/vstudio/aa336746/
[解决办法]
var query = from p in db.entity
where list2.Select(q=>q.cid).Contains(p.id)
group p by p.id into g
select new
{
id = g.Key,
Count = g.Count(x => x.id)
};
http://msdn.microsoft.com/en-us/vstudio/aa336746/