You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET MVC如何按指定年月统计数据库表中的行数?

解决方案

要实现按SiteCode和日期的年、月统计数据库表中的行数,你需要修改Where条件,不再直接匹配完整日期,而是分别匹配年份和月份。以下是调整后的代码:

public ActionResult CreateTT(tblTT fctt) 
{
    int countFuel = db.tblFuelTroubleTickets
                      .Where(x => x.SiteCode == fctt.SiteCode && 
                                  x.RequiredVisitDate.Year == fctt.RequiredVisitDate.Year &&
                                  x.RequiredVisitDate.Month == fctt.RequiredVisitDate.Month)
                      .Count();
    // 可添加后续逻辑,比如返回视图或处理统计结果
    return View();
}

说明

  • 直接提取日期的Year和Month属性比较,确保仅统计同年同月的数据,而非同一天。
  • 该写法会被Entity Framework解析为对应SQL日期函数查询,不会在客户端加载全量数据再过滤,保证查询性能。

如果数据库日期字段可能为null,需先做空值判断避免异常:

public ActionResult CreateTT(tblTT fctt) 
{
    if (fctt.RequiredVisitDate == null)
    {
        // 处理日期为空的情况,比如返回错误或设统计数为0
        return View();
    }
    
    int countFuel = db.tblFuelTroubleTickets
                      .Where(x => x.SiteCode == fctt.SiteCode && 
                                  x.RequiredVisitDate.HasValue &&
                                  x.RequiredVisitDate.Value.Year == fctt.RequiredVisitDate.Value.Year &&
                                  x.RequiredVisitDate.Value.Month == fctt.RequiredVisitDate.Value.Month)
                      .Count();
    return View();
}

内容的提问来源于stack exchange,提问作者Farhan Ahmed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 05:50:34