c# - Visual Studio:查找循环内使用的类型实例
问题描述
这更像是“我如何在 Visual Studio/其他重构工具中做到这一点?” 而不是编码问题。
下面的示例代码显示了一个未解析的数据库对象 people,(在本例中为 IMongoQueryable)被传递到 foreach 循环。
var people = database.GetMongoCollection<Person>; // Type is IMongoQueryable<Person>
foreach (person in people)
{
string address = person.Address; // Triggers a DB Query every iteration
DoSomething(address);
}
在此示例中,循环导致发出“N”个查询。在传递给循环之前通过调用 ToListAsync() 来解析数据集会更有效,因为只会发出一个查询。
我在我们的解决方案中发现了几个发生这种情况的例子,我相信可能还有数百个例子。但代码库已有 10 年历史,庞大、架构糟糕、性能不佳(不是我的代码),我不知道如何找到它们。
如何找到循环内使用的类型(例如 IMongoQueryable)的所有实例?
解决方案
推荐阅读
- c# - 我需要增加和减少 button.width 使用 ScrollBar 更改(C# Win Form)
- php - 如何从 cURL POST 保存连接 IP
- r - 如何修复 plm 包中的“重复的 row.names”?
- c++ - 如何在重写函数中返回模板派生类而不是基类?
- c# - 检查开始时间和结束时间之间的时间差应该是1小时30分钟,如果超过它不应该继续
- javascript - JavaScript - 试图弄清楚为什么我的平均总和不起作用?
- reactjs - 为什么将 React 应用程序部署到 Heroku 后 Chrome React 开发人员工具仍然是红色的
- json - 合并多个 JSON 数组而不更改 Dataweave 1.0 中的序列
- geometry - 根据 AutoCAD 图表中指定的尺寸缩放长度
- reactjs - 错误:resolve-url-loader:CSS 错误。source-map 信息在 url() 声明中不可用(找到孤立 CR,尝试 removeCR 选项)