首页 > 解决方案 > 如何在实体框架工作中获取两年之间的所有数据?

问题描述

我有一张名为 Record 的表。我想获取 2009 年到今年之间的所有记录。我如何在实体框架中做到这一点?现在我的查询是这样的,我只得到 2018 条记录。我想获取 2009 年到今年之间的所有记录。

public ActionResult DataSheet(int year = 0)
{
    if (year < 2009 || year > DateTime.Now.Year)
        year = DateTime.Now.Year;

    var records= _db.record.Where(p => p.date.Value.Year == year).ToList();

    return View(records);
}

标签: c#asp.net-mvcentity-frameworklinq

解决方案


您可以尝试以下方法:

 var records= _db.record.Where(p => p.date.Value.Year > 2009 
                                 && p.date.Value.Year < DateTime.Now.Year)
                        .ToList();

如果还需要 2009 年和当年的记录,还需要在上面的表达式中加上=,>=和。<=


推荐阅读