Visual Studio Community 2022性能探查器不显示EF执行的查询
解决Visual Studio Community 2022性能分析器Queries面板不显示EF查询的问题
确认性能分析器会话配置:启动性能分析时,进入会话设置界面,确保勾选**.NET Entity Framework Core**诊断选项。默认情况下该选项可能未启用,勾选后重新运行分析会话。
配置EF Core日志类别:EF Core需要开启特定日志类别才能被分析器捕获。在DbContext配置中添加日志命令类别:
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { optionsBuilder.LogTo( Console.WriteLine, Microsoft.EntityFrameworkCore.Diagnostics.DbLoggerCategory.Database.Command.Name ); }若使用依赖注入配置DbContext:
builder.Services.AddDbContext<YourDbContext>(options => options.UseSqlServer(Configuration.GetConnectionString("YourConnStr")) .LogTo(Console.WriteLine, DbLoggerCategory.Database.Command.Name));避免查询缓存干扰:EF Core会缓存重复查询,若触发的是缓存中的查询,分析器不会生成新条目。可修改查询参数,或在触发查询前禁用跟踪缓存:
context.ChangeTracker.QueryTrackingBehavior = QueryTrackingBehavior.NoTracking;验证项目目标框架:确保项目目标为**.NET 5及以上**,旧版本.NET框架与VS2022性能分析器的EF查询捕获兼容性较差。
重置Visual Studio用户设置:若VS配置文件损坏,可通过
工具->导入和导出设置->重置所有设置恢复默认配置,之后重新测试分析功能。排查第三方拦截器影响:若项目使用了EF Core自定义拦截器或第三方数据访问库,暂时移除这些组件后测试,确认是否存在干扰逻辑。
内容的提问来源于stack exchange,提问作者albertLopez
相关产品推荐
相关产品推荐

