实体框架查询执行超时问题

时间:2015-09-16 14:43:18

标签: entity-framework azure azure-sql-database azure-mobile-services query-performance

使用EntityFramework v6.1.3时遇到以下问题

查询是:

var query = DataContext.ExternalPosts.Include(e => e.ExternalUser)
                       .Where(e => e.EventId == eventId)
                       .OrderByDescending(e => e.PublishedAt)
                       .Take(35);

当我这样做时

query.ToList()

我得到"等待操作超时"例外。但是当我使用来自

的查询时
query.ToString()

直接在服务器上执行(通过Management Studio)需要大约150毫秒

我已将CommandTimeout周期更新为180,并设法通过EntityFramework在50秒后获得结果。 当我删除' .OrderByDescending'或者'。包括'它对我来说是正确的,我没有测量时间,但它的工作速度非常快。

有统计数据:http://grab.by/KsQ2 我使用AzureDb。

更新

新的一天,新的情况:今天它使用相同的查询和相同的数据集非常正常。这可能是Azure服务问题吗?

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

这可能会有所帮助: - msdn forum link