我有一个Linq查询想要立即执行,然后操作数据。现在在下面的代码中,当第二个(2) Linq查询执行时,第一个(1) Linq查询已经被执行了。我想先执行第一个(1)查询,怎么做呢?
// 1
var statistic = DataAccess.Instance.Statistics
.Where(p => p.DateStamp >= fromDate && p.DateStamp <= DateTime.UtcNow && p.UserId == userId)
.Select(p => new {p.DateStamp.Year, p.DateStamp.Month, p.DateStamp.Day });
values = new int[interval];
labels = new string[interval];
for (var i = 0; i < labels.Length; i++)
{
// 2
var recordsCount = statistic.Count(p => p.Year == dayStep.Year && p.Month == dayStep.Month && p.Day == dayStep.Day);
}
var productsQuery = (from p in products select p.ToList();
和你的示例代码一样吗?如果不是,如果我在你的示例中添加一个where
子句,它会只获取与where
子句匹配的结果吗? - Igor