我已经为此苦苦挣扎了好几个星期。我似乎可以在 C# 中找到答案,但不能在 vb.net 中找到答案,因为 VB.net 使用匿名类型。我可以对我的专栏进行分组,但我只想要短日期 (11/11/11),而不是日期和时间 (11/11/11 11:11:11)。这是我目前所拥有的:
Dim preSort = SortedTimeline.GroupBy(Function(GroupTime) New With {Key GroupTime.Scheduled_Start})
仅当时间也匹配时才会创建组。由于它是匿名的,我无法在 key 上放置任何 .tostring 或任何日期魔法。
有什么想法吗???
最佳答案
通常您会使用 DateTime.Date
属性,但 EF6 不支持它,需要使用 DbFunctions.TruncateTime
达到此目的的方法。
此外,VB.NET 不要求使用匿名类型(尽管我很确定有办法指定匿名类型成员name)。当您像您的情况一样按单个字段进行分组时,您可以简单地使用以下内容(如 Group By VB.NET example 中所示):
.GroupBy(Function(GroupTime) DbFunctions.TruncateTime(GroupTime.Scheduled_Start))
关于vb.net - 没有时间字段的linq groupby vb.net,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47868046/