在我的数据库中,我有一组带有值的时间点。该集看起来像:
public class Point
{
public int Id {get;set;}
public int Count { get; set; }
public virtual DateTime RegistrationTime { get; set; }
}
接下来我有一个日期时间点列表。 Foreach日期时间点我想要两个最接近的时间点(前1个和后1个)。我可以在我的时间点上使用foreach,但这会导致很多查询。有没有办法在实体框架中执行查询?
答案 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();