【发布时间】:2021-07-19 09:58:16
【问题描述】:
我的 Web 应用程序中有一个使用 ASP .NET Core 编写的图表,它显示来自数据库表的数据。 图表应按月显示当年的月度数据(即 07.2020 至 07.2021),但如您所见,图表中的月份顺序不正确: 我使用 LINQ 从数据库中选择数据,如何以正确的顺序在图表中显示月份(jan -> feb -> mar 等)?我尝试了以下代码,但它不起作用:
var date = _azdb.kipKtg.Where(k => k.dtMonth.Value.Year.Equals(DateTime.Now.Year) ||
k.dtMonth.Value.Year.Equals(DateTime.Now.Year - 1))
.Select(k => k.dtMonth)
.OrderBy(k => DateTime.Now.Month)
.Distinct()
.ToList();
【问题讨论】:
-
您根本没有订购...因为您按当前月份的常数值订购
-
还使用了明显的臭味……非常糟糕
-
@Selvin,你能详细说明一下为什么这里的 distinct 使用不正确吗?
-
您能详细说明一下为什么需要它吗? ...我见过许多 DISTINCT 用法,几乎所有用法都没有必要且容易出错(fx distinct 而不是 group by或不同,因为有人加入一对多而不是
EXISTS)
标签: c# linq asp.net-core