我有表帮助的LINQ查询
ID pagenane用户名
我想这个SQL查询
选择页面名称,COUNT(*)从pagestat NUM其中username = 'name'group by pagename
我该怎么做linq?
我有表帮助的LINQ查询
ID pagenane用户名
我想这个SQL查询
选择页面名称,COUNT(*)从pagestat NUM其中username = 'name'group by pagename
我该怎么做linq?
好了,试试这个:
var query = from row in context.pageStat
where row.UserName == "name"
group row by row.PageName into g
select new { PageName = g.Key, Count = g.Count() };
var retVal = (from s in dataContext.YourTable where
s.UserName.Equals("name")
group s by s.PageName into k
select new {PageName = k.Key, Count = k.Count() }).ToList();
's'不在'select'子句的范围内。那时你正在处理*组*而不是单个记录。幸运的是,您可以使用该组的关键。 – 2010-07-07 08:32:07
谢谢乔恩,我会小心的,现在就解决。 – 2010-07-07 08:50:40
如何从函数返回该值?像返回query.ToList();但这是匿名类型 – kusanagi 2010-07-07 08:44:18
@kusanagi:如果您使用.NET 4,则可以使用元组;否则你可以创建你自己的带有页面名称和计数属性的命名类型......基本上是匿名类型的命名版本。 – 2010-07-07 08:47:38
请注意,'row.UserName =='name''将区分大小写。也许不是你想要的用户名,和(取决于数据库整理)可能不是什么原始的SQL查询。使用'row.UserName.Equals(“name”,StringComparison.OrdinalIgnoreCase)'进行不敏感的比较;它在L2S和L2E中都受到支持。 – 2010-07-07 12:39:23