0

我最近被要求接管一个使用实体框架的大型 LOB 应用程序。许多数据库调用使用了几个(> 5)包含,这会导致一些非常严重的查询效率低下。我想使用 Visual Studio 的搜索功能来查找其中一些包含链。举个简单的例子,可能看起来像:

var res = ObjectContext.Items.Include("Details")
             .Include("Users").Include("Users.Info");

我想找到超过 1 个包含的任何实例,并且无论包含路径是什么都匹配。

如何构建搜索以识别这些链?非常感谢任何帮助!

4

1 回答 1

2

VS2012 使用 .NET 的正则表达式风格,因此您可以执行类似的操作

(?:[.]Include[(]\s*"[^"]*"\s*[)]\s*){2,}

这匹配一.Include("something")加之后的任何空白,然后需要至少两次重复此模式。请注意,如果您的字符串包含引号或其中包含逐字字符串,您会遇到问题。在这种情况下,"[^"]*"必须更详细一些。

于 2013-07-01T13:30:57.153 回答