我有Linq查询并希望立即执行它,然后处理数据。现在在下面的代码中,执行第二个(2)Linq查询时,将执行第一个(1)Linq查询。我想先执行第一个(1)查询,该怎么做?Linq to SQL立即执行查询
// 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);
}
我不会错过任何东西:当你定义的LINQ to SQL查询 ,这样你可以通过调用ToList或ToArray的 扩展方法,其获取数据到一个列表或数组做到这一点。我问如何执行数据,然后执行额外的操作,因为我了解Linq如何工作:)无论如何谢谢你的详细描述! – Tomas 2011-12-28 13:42:35
:-) ....只是添加.ToList()或ToArray(),你很好 – 2011-12-28 13:44:17
@PankajUpadhyay这是'var productsQuery = =(从产品中的p 选择p.ToList();'与代码相同在你的例子中?如果不是,如果我添加一个where子句到你的例子中,它只会提取匹配where子句的结果 – Igor 2014-10-11 17:03:02