实体框架选择日期之前和之后的记录

时间:2014-09-30 12:28:22

标签: c# entity-framework

在我的数据库中,我有一组带有值的时间点。该集看起来像:

public class Point
{
    public int Id {get;set;}
    public int Count { get; set; }
    public virtual DateTime RegistrationTime { get; set; }
}

接下来我有一个日期时间点列表。 Foreach日期时间点我想要两个最接近的时间点(前1个和后1个)。我可以在我的时间点上使用foreach,但这会导致很多查询。有没有办法在实体框架中执行查询?

1 个答案:

答案 0 :(得分:0)

像这样的东西

Point comparePoint =你拥有的......

var pointBefore = db.Points.Where(p=>p.RegistrationTime < comparePoint.RegistrationTime).OrderByDescending(p=>p.RegistrationTime).FirstOrDefault();

var pointAfter = db.Points.Where(p=>p.RegistrationTime > comparePoint.RegistrationTime).OrderBy(p=>p.RegistrationTime).FirstOrDefault();