我有存储过程和实体框架的问题.
让我解释一下正在发生的事情......以及迄今为止我所尝试过的事情.
我有一个存储过程,它没有做太多
SELECT
COUNT(DISTINCT(EmailAddress)) AcceptedQuotes,
CONVERT (DATE,QuoteDate) QuoteDate
FROM
Quote Q
JOIN
Person P on Q.PersonPk = P.Pk
JOIN
Product Pr on Q.ProductPk = Pr.Pk
JOIN
Accepted A on Q.Pk = A.QuotePk
WHERE
QuoteDate between @startDate and @endDate
AND CompanyPk = @companyPk
AND FirstName != 'Test'
AND FirstName != 'test'
AND FirstName != 'EOH'
Run Code Online (Sandbox Code Playgroud)
我想执行此操作,它在SSMS中工作正常,甚至不需要1秒钟.
现在,我将其导入Entity Framework,它超时并将命令超时设置为120 ...
那么我到目前为止所尝试的以及我测试的内容.
如果我使用SqlCommand,SqlDataAdapter,DataTable方式,用我自己的连接字符串,它按预期执行.当我在这种情况下使用Entity Framework连接字符串时,它会超时.
我改变了我的存储过程以包含"重新编译"选项并尝试了SET ARITHABORT方法,没有运气,它在通过EF运行时超时.
这是EF中的一个错误吗?
我现在刚刚决定使用"旧学校"数据访问来重写它.
另请注意,EF对来自同一数据库的其他存储过程执行正常.
任何想法或帮助将不胜感激......
PS.我找到了这篇文章,但也没有帮助:(