// 1var 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);}解决方法 我认为你在.NET中的数据 *** 作中缺少一个重要的概念
延期和立即获取
需要强调的一点是,默认情况下,liNQ to sql会从中检索数据
数据库仅在您请求它时,而不是在您定义liNQ to SQL查询或创建时
表集合.这称为延迟提取.
当foreach循环启动时,liNQ to sql创建并运行派生的sql SELECT语句
从liNQ to SQL查询创建ADO.NET DataReader对象.每次迭代
foreach循环执行必要的GetXXX方法来获取该行的数据.后
liNAC to sql关闭了最后一行,并由foreach循环处理
数据库连接.
延迟提取可确保仅检索应用程序实际使用的数据
数据库.但是,如果要访问在远程sql实例上运行的数据库
服务器逐行获取数据并不能充分利用网络带宽.在这
方案,您可以通过强制立即获取和缓存单个网络请求中的所有数据
评估liNQ to SQL查询.您可以通过调用ToList或ToArray来完成此 *** 作
扩展方法,在定义liNQ to sql时将数据提取到列表或数组中
查询,像这样:
var productsquery = from p in products.ToList()select p;总结
以上是内存溢出为你收集整理的c# – Linq to SQL立即执行查询全部内容,希望文章能够帮你解决c# – Linq to SQL立即执行查询所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)