疑难杂症——关于EntityFramework的SqlQuery方法的执行效率差异的探讨

前言:最近项目上面遇到一个问题,在Code First模式里面使用EntityFramework的SqlQuery()方法查询非常慢,一条数据查询出来需要10秒以上的时间,可是将sql语句放在plsql里面执行,查询时间基本可以忽略不计。折腾了半天时间,仍然找不到原因。最后通过对比和原始Ado的查询方式的差异找到原因,今天将此记录下。

本文原创地址:

一、问题描述

其实问题很简单,上面前言已经描述过。就是一个多表的联合查询,没有什么特殊的语法。大致代码如下:(PS:不要问为什么用了EF还要使用sql语句,你就当这是个梗!)

通用的sql语句查询方法

     public IEnumerable<TEntity> SqlQuery<TEntity>(string sql, params object[] parameters) { return this._dbContext.Database.SqlQuery<TEntity>(sql, parameters).ToArray(); }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zywzgg.html