linq groupby没有时间字段vb.net

问题描述 投票:2回答:1

几个星期以来,我一直在努力解决这个问题。我似乎可以在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}) 

仅当时间也匹配时,才会创建组。由于它是匿名的,我不能在密钥上添加任何.tostring或任何日期魔法。

任何的想法???

vb.net entity-framework linq
1个回答
4
投票

通常你会使用DateTime.Date属性,但EF6不支持它,并且需要使用DbFunctions.TruncateTime方法。

此外,VB.NET不要求使用匿名类型(虽然我很确定有办法指定匿名类型成员名称)。当您按照您的情况分组一个字段时,您可以使用以下内容(如Group By VB.NET example中所示):

.GroupBy(Function(GroupTime) DbFunctions.TruncateTime(GroupTime.Scheduled_Start))
© www.soinside.com 2019 - 2024. All rights reserved.