我在 Azure sql db 中有一个存储过程,当我从 SSMS 运行时,它在大约 300 毫秒内完成。sproc 接受一个 id 和一个日期范围,收集一些数据并将其保存到聚合表中。它不返回任何结果。
当它从 EF 代码第一个 ExecuteStoreCommand 对象(使用相同的参数)运行时,大约需要 60 秒才能完成。
我尝试使用 context.Database.ExecuteSqlCommand 和 context.Database.SqlQuery 以及相同的结果,非常慢!
有人可以解释一下,与直接执行存储过程相比,EF 执行如此缓慢吗?
有没有像样的工具可以告诉我 EF 在做什么(分析器?)