linq groupby问题
我有一个表有几列:HarvestID,HarvestDate,UserID提到主要的。 对于每个日期,每天都会有几个HarvestID。
到目前为止,我有以下linq查询:
UserID和TheMonth作为int和DateTime传入
var MyQuery = from h in MyDC.HarvestTable
where h.UserID == TheUserID
where h.HarvestDate.Month == TheMonth.Month
where h.HarvestDate.Year == TheMonth.Year
group h by h.HarvestDate.Day into TheDays
from d in TheDays
select new
{
TheDay = d.HarvestDate.Date,
TheDayCount = (from c in TheDay
select c.HarvestID).Count()
};
我期待输出成为每天计数的列表。 该查询没有问题,但问题是,目前查询没有返回每一天的唯一行。 分组不起作用,我不知道为什么。 这段代码有什么问题?
谢谢。
它认为你的查询应该是
var MyQuery = from h in MyDC.HarvestTable
where h.UserID == TheUserID
where h.HarvestDate.Month == TheMonth.Month
where h.HarvestDate.Year == TheMonth.Year
group h by h.HarvestDate.Day into TheDays
select new
{
TheDay = TheDays.Key,
TheDayCount = TheDays.Count()
};
这是一个很好的参考以上声明http://msdn.microsoft.com/en-us/vcsharp/aa336754.aspx#simple1
var MyQuery = from h in MyDC.HarvestTable
where h.UserID == TheUserID
&& h.HarvestDate.Month == TheMonth.Month
&& h.HarvestDate.Year == TheMonth.Year
group h by h.HarvestDate.Day into g
select new
{
TheDay = g.Key,
TheDayCount = g.Count()
};
在没有数据的日子里,这不会给你零分 - 但应该给你一个数字。
http://msdn.microsoft.com/en-us/vcsharp/aa336746是LINQ示例的转到页面。
链接地址: http://www.djcxy.com/p/31905.html下一篇: Saving the state of an activity before pressing the back button