DbContext.Database.Log
记录的EF查询的持续时间与我在SQL Server Profiler中看到的实际持续时间不同。
在SQL Server配置文件中,我看到一行看起来像这样
EventClass TextData Duration
RPC:Completed exec sp_executesql N'SELECT... 59473
但DbContext.Database.Log
中无处可查找具有该持续时间的查询。根据这些日志,没有查询花费超过几毫秒。
我还试图实现一个自定义IDbCommandInterceptor
来拦截,计时和记录EF查询(类似这样:https://stackoverflow.com/a/27365855/492067),但我遇到同样的问题。
我错过了什么?是否与实际的数据读取有关?
有问题的EF查询如下所示:
var duplicates = databaseItems.Where(item => newItems.Contains(item)).ToList();