Linq - 如何按多个字段分组并按其中一个字段计算记录

时间:2015-06-30 19:03:58

标签: c# linq

我希望得到与以下查询相同的结果:

select SITECODE, COUNT(SITECODE), DATEPART(MONTH, LOG_DATE) 
from dbo.LOG_VEHICLE_LOOKUP GROUP BY DATEPART(MONTH, LOG_DATE), SITECODE

我正在使用Entity Framework作为ORM

我目前的linq看起来像这样:

        var model = from log in _repository.GetPostcodeLookupLogs()
                    group log by new { log.LOG_DATE.Month, log.SITECODE } into y
                    select new 
                        {
                            y.Key.SITECODE,
                            y.Key.Month,
                            Count = y.Count()
                        };

1 个答案:

答案 0 :(得分:0)

似乎我在想正确的方法。我很困惑因为我想用

_repository.GetVehicleLookupLogs() 

而不是:

_repository.GetPostcodeLookupLogs()

两个表都有相同的列,所以我得到了一些结果但不是我预期的结果