C# Linq to SQL获取按日期分组的不同记录

C# Linq to SQL获取按日期分组的不同记录,c#,sql,linq,linq-to-sql,linq-to-entities,C#,Sql,Linq,Linq To Sql,Linq To Entities,我试图为每个24小时周期获取一个不同的“客户类型id”记录列表,并将它们添加到列表中 假设我的数据结构是 DATE TYPEOF CUSTOMER CUSTOMER TYPE ID 31-10-2013 GUEST 3 31-10-2013 REGISTERED 4 31-10-2013 MANAGER 2 30-10-2013 GUEST 3 30-10-2013 REGIS

我试图为每个24小时周期获取一个不同的“客户类型id”记录列表,并将它们添加到列表中

假设我的数据结构是

DATE        TYPEOF CUSTOMER    CUSTOMER TYPE ID
31-10-2013  GUEST              3
31-10-2013  REGISTERED         4
31-10-2013  MANAGER            2
30-10-2013  GUEST              3
30-10-2013  REGISTERED         4
30-10-2013  MANAGER            3
在LINQtoSQL中,我希望获得每天(24小时)的所有记录,然后获得每个“客户类型id”的不同计数

我已经开始,但不知道如何继续。我该怎么做

var results = _customerTable.GroupBy(c => new {Date = c.Date.Date}).....

您可以尝试以下示例代码:

var results = _customerTable.GroupBy(c => new {c.Date, c.CUSTOMER_TYPE_ID}).Select(g => new {g.Key.Date, g.Key.CUSTOMER_TYPE_ID, MyCount = g.Count()});

通过这种方式,您可以获得每个
日期
客户类型_ID

的记录数。好的,非常感谢。那么,我该如何为每个24小时周期执行此操作呢?您可以编写一个windows控制台应用程序,并使用windows任务管理器将其计划为每24小时在预先指定的时间点运行一次否我的意思是每24小时周期(天)循环一次表,然后将结果添加到列表中查看_customerTable.GroupBy(c=>new{c.Date.Day,c.Date.Hour})。选择(g=>new{Day=g.Key.Day,Hour=g.Key.Hour,Count=g.Count()});