C# 当使用多个分组依据字段时,Linq分组依据日期
由于linq不允许您在linq查询中使用Date()方法,我阅读了关于使用DbFunctions.TruncateTime的内容,在您尝试在匿名类型中使用它之前,它工作得很好,这是我在多个字段上分组时需要做的事情。我还尝试仅使用字段的日期部分创建一个新的日期时间,但这也不起作用(同样出现相同的错误) 我的问题看起来像C# 当使用多个分组依据字段时,Linq分组依据日期,c#,sql,linq,entity-framework,C#,Sql,Linq,Entity Framework,由于linq不允许您在linq查询中使用Date()方法,我阅读了关于使用DbFunctions.TruncateTime的内容,在您尝试在匿名类型中使用它之前,它工作得很好,这是我在多个字段上分组时需要做的事情。我还尝试仅使用字段的日期部分创建一个新的日期时间,但这也不起作用(同样出现相同的错误) 我的问题看起来像 kw = kw .GroupBy(x => new { DbFunctions.TruncateTime(g.SummaryHour), x.KeywordID })
kw = kw
.GroupBy(x => new { DbFunctions.TruncateTime(g.SummaryHour), x.KeywordID })
.SelectMany(x => x)
.OrderByDescending(x => x.KeywordID);
我试着像groupby一样把groupby链接在一起groupby。。。但这并没有给我同样的结果我有什么办法可以做到这一点?我基本上也在尝试通过其他字段过滤掉日期和组的时间部分。当然可以使用匿名类型的方法,但必须提供属性的名称,因为编译器没有派生它的任何内容:
kw.GroupBy(x => new {
Date = DbFunctions.TruncateTime(g.SummaryHour),
x.KeywordID
})
您可以尝试使用它的
DiffDays
function,并尝试按不同的日期分组。它不允许我调用方法。。。我已经在使用等效的DbFunctions.TruncateTime(g.SummaryHour),但这不适用于匿名types@KingOfHypocrites它给了你什么错误?您是否尝试按年、月、日分组?创建匿名类型时无法使用方法。然后尝试按new{x.year、x.month、x.day…}
Bazinga分组。那是一张神奇的票。