MiniProfiler是否在EF Core FromSql中显示表值参数的值?

问题描述

在使用MiniProfiler时,我注意到它没有显示使用Fromsql的EF Core 2.X调用的TVP参数的值。我的问题是,是否应该启用该功能?如果需要的话,该怎么做?

在Global.asax.cs中,Application_Start我具有配置

sqlFormatter = new StackExchange.Profiling.sqlFormatters.sqlServerFormatter()}
.AddEntityFramework()

TVP参数的构造如下:

new sqlParameter("Locations",sqlDbType.Structured) { TypeName = "IntListTableType",Value = dataTableOfValues };

被称为:

MyDbContext.TeamPerformanceInfo
                .Fromsql(@"EXEC [dbo].[TeamPerformanceInfo] @ScreenType = @ScreenType,@StartDate = @StartDate,@CutOffDate = @CutOffDate,@EndDate = @EndDate,@Locations = @Locations,@PersonJoinDate = @PersonJoinDate,@TeamMembers = @TeamMembers,@UserId = @UserId,@TeamId = @TeamId,@FilterTypes = @FilterTypes,@FilterStatuses = @FilterStatuses,@PageNr = @PageNr,@PageSize = @PageSize,@ProgramGroup = @ProgramGroup,@Regions = @Regions",parameters.ToArray()).ToList()

输出如下信息:

DECLARE @StartDate datetime = '2020-08-11T04:00:00',@EndDate datetime = '2020-08-12T03:59:00',@UserId bigint = 5,@Locations sql_variant = 'BigintListTableType',@TeamMembers sql_variant = 'BigintListTableType',@PersonJoinDate sql_variant = 'DateTiMetableType',@PageNr int = 1,@PageSize int = 500,@ScreenType int = 1,@ProgramGroup sql_variant = 'IntListTableType',@Regions sql_variant = 'IntListTableType',@TeamId bigint = -1,@CutOffDate datetime = null,@FilterTypes sql_variant = 'BigintListTableType',@FilterStatuses sql_variant = 'BigintListTableType';

EXEC [dbo].[TeamPerformanceInfo] @ScreenType = @ScreenType,@Regions = @Regions

如您所见,非TVP变量输出值,但TVP变量仅输出TVP类型。这正常吗?有没有办法在MiniProfiler中显示TVP值?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)