【发布时间】:2011-02-09 00:29:55
【问题描述】:
我正在使用 C# 3.5 和 EntityFramework。我在数据库中有一个包含利率的项目列表。不幸的是,此列表仅包含有效开始日期。我需要在这个列表中查询一个范围内的所有项目。
但是,如果不查询数据库两次,我就看不到这样做的方法。 (虽然我想知道使用 EntityFramework 延迟执行是否只进行一次调用。)无论如何,我想知道是否可以在不使用我的上下文两次的情况下做到这一点。
internal IQueryable<Interest> GetInterests(DateTime startDate, DateTime endDate) {
var FirstDate = Context.All().Where(x => x.START_DATE < startDate).Max(x => x.START_DATE);
IQueryable<Interest> listOfItems = Context.All().Where(x => x.START_DATE >= FirstDate && x.START_DATE <= endDate);
return listOfItems;
}
【问题讨论】:
-
我认为您的意思是“我需要查询此列表以查找涵盖范围的所有项目”而不是“范围内”,因为您想要范围开始之前的最后一个值以及在范围内开始的任何值范围,对吧?
标签: c# linq entity-framework .net-3.5