2012-02-10 85 views
1

我有一个相当复杂的查询通过实体框架执行,需要很多时间,差不多50秒钟的问题。该查询通过对创建新的ObjectContext的Web服务的临时调用执行,执行查询并返回结果。实体框架查询性能

问题是,如果我使用SQL Server Profiler跟踪T-SQL代码并尝试从SQL Server Management Studio执行它,则需要2秒钟的时间......它可能是什么?

谢谢 马尔科

回答

2

对于每一个接触到数据库中,实体做了很多工作,启动建设数据库架构的内部表示ObjectContext的。这可能需要很长时间(我们的项目大约需要30秒),并且花费在对数据库进行的第一次查询上。随后的过程很快,直到过程重新启动。这是否适用于你?

+0

但如果我声明一个新的objectcontext实体框架重新创建数据库架构?因为我不重新启动应用程序 – MaRuf 2012-02-10 18:27:49

+0

“new ObjectContext”不会导致重新创建元数据。但是,如果IIS每次都在查杀进程或某个东西... 您需要发布一些代码,以便我们可以看到发生了什么。需要查看您在客户端和服务器上执行查询的方式。 – 2012-02-10 19:15:35

+0

对不起,我不能发布代码,因为它受到保护,我不被允许,但基本上客户端调用在DAL层中创建新类的服务,该实例使用对象上下文并进行查询。 objectcontext将被丢弃,但IIS不会终止进程... – MaRuf 2012-02-10 20:36:48