对于上下文,我是ASP.Net,C#和LINQ的新手,并且最近负责一个严重依赖数据库数据的站点。此外,不确定它是否重要,但主应用程序代码位于与数据库分开的服务器上。
我的问题:有没有办法“计算”应用程序访问给定页面上的数据库的次数?几乎所有数据都是通过LINQ访问的(已经设置为在单独的解决方案中与我们的数据库一起使用)。在站点内的大多数页面上,有多个基于(更改)数据的循环,每个循环在内部执行多个LINQ查询。
我的代码中的基本示例:
foreach(Answer ans in targetUser.UserAnswers.Select(ua => ua.Answer)
{
AnswerName.innerText = ans.Name;
AnswerDesc.innerHtml = ans.Description;
//etc
}
//etc
除了实际情况之外,还有很多循环(包括进一步的嵌套循环),因此很难估计每次加载页面时数据库被击中的次数。
我想后续的问题是,每次使用LINQ时,数据库都是“单独”访问的吗?我想,每次我们做“ans.Name”(例如)时,都必须再次访问数据库。在这种情况下,我想一个解决方案是手动递增使用LINQ的代码中的计数变量。
如果我的问题令人困惑,请告诉我,我会修改它。提前谢谢!