在显式加载相关实体时,性能分析显示性能降低

时间:2015-09-17 11:08:20

标签: c# sql-server visual-studio-2012 profiling entity-framework-6

我试图分析我的wpf应用程序,专注于进行一些计算和评估的非可视化部分,我在分析器中使用了Visual Studio 2012 bulit。

该应用程序中有相当多的代码(成千上万行),所以我很惊讶它在单行上花费了46.3%的时间:

db.Entry(qzv.ZkouskaVzorku).Collection(p => p.VyhodnoceniZkouskies).Load();

Profiler result

此行应该只显式加载相关实体as specified here

我已经使用SQL Express分析器检查了这一行,它只显示了这个SQL命令:

exec sp_executesql N'SELECT 
    [Extent1].[VyhodnoceniZkouskyID] AS [VyhodnoceniZkouskyID], 
    [Extent1].[Kontext] AS [Kontext], 
    [Extent1].[NormaVlastnostiID] AS [NormaVlastnostiID], 
    [Extent1].[ZkouskaVzorkuID] AS [ZkouskaVzorkuID], 
    [Extent1].[ZkouskaTypuID] AS [ZkouskaTypuID], 
    [Extent1].[JeShodaITT] AS [JeShodaITT], 
    [Extent1].[JeITT] AS [JeITT], 
    [Extent1].[JeStorno] AS [JeStorno]
    FROM [dbo].[VyhodnoceniZkousky] AS [Extent1]
    WHERE [Extent1].[ZkouskaVzorkuID] = @EntityKeyValue1',N'@EntityKeyValue1 int',@EntityKeyValue1=1816601
go

此命令在0毫秒内执行得非常快,因为它只是使用主聚集索引选择多行。

将Entity框架6.1.0与SQL Server LocalDB 2014一起使用。 我已对此行进行了评论,因为它仅对ViewModel很重要,而且计算速度确实比cca快2倍。

可能是什么问题,是否有解决方法?

0 个答案:

没有答案