我遇到了一个通过Entity Framework执行的非常复杂的查询的问题,需要花费很多时间,差不多50秒。通过对Web服务的临时调用执行查询,该服务创建新的ObjectContext
,执行查询并返回结果。
问题是,如果我使用SQL Server Profiler跟踪T-SQL代码并尝试从SQL Server Management Studio执行它,则需要2秒......它可能是什么?
谢谢你, 马可
答案 0 :(得分:2)
对于每个接触数据库的ObjectContext,Entity都会做很多启动工作来构建数据库模式的内部表示。这可能需要很长时间(我们的项目大约需要30秒),并且需要花费在对数据库进行的第一次查询的费用上。后续的很快,直到重新开始该过程。这适用于你吗?