由于linq不允许你在linq查询中使用Date()方法,我读到了使用DbFunctions.TruncateTime,它可以正常工作,直到你尝试在匿名类型中使用它,这是我需要做什么才能在多个领域进行分组。我也尝试使用我的字段的日期部分创建一个新的日期时间,但这也不起作用(再次出现相同的错误)。
我的查询看起来像
kw = kw
.GroupBy(x => new { DbFunctions.TruncateTime(g.SummaryHour), x.KeywordID })
.SelectMany(x => x)
.OrderByDescending(x => x.KeywordID);
我尝试像groupby.groupby一样将这个组织链接在一起......但是这并没有给我相同的结果。 我能以任何方式实现这一目标吗?我基本上试图过滤掉我的约会的时间部分和其他领域的分组。
答案 0 :(得分:8)
当然可以使用匿名类型的方法,但必须提供属性的名称,因为编译器没有任何可以从中派生的东西:
kw.GroupBy(x => new {
Date = DbFunctions.TruncateTime(g.SummaryHour),
x.KeywordID
})