I know similar questions have been asked here before and there are a few with entity framework as well but I havent got any of them working for me.
I have a legacy code which uses entity framework data first approach and calls the stored procedure like;
var result = context.Database.SqlQuery<VoidEvent>("p_VoidEventSearchList @UserId, @EventTypeId, @StartDate, @EndDate, @ManagementArea, @ManagementArea2 "
, new SqlParameter("@UserId", UserId)
, new SqlParameter("@EventTypeId", EventTypeId)
, new SqlParameter("@StartDate", Convert.ToDateTime(StartDate))
, new SqlParameter("@EndDate", Convert.ToDateTime(EndDate).AddDays(1))
, new SqlParameter("@ManagementArea", ManagementArea)
, new SqlParameter("@ManagementArea2", ManagementArea2)
).ToList();
return result;
this is throwing a timeout error whereas if i get the query from profiler and run it in management studio it takes only 3 seconds;
exec sp_executesql N'p_VoidEventSearchList @UserId, @EventTypeId, @StartDate, @EndDate, @ManagementArea, @ManagementArea2 ',N'@UserId nvarchar(36),@EventTypeId int,@StartDate datetime,@EndDate datetime,@ManagementArea nvarchar(4000),@ManagementArea2 nvarchar(4000)',@UserId=N'e91a860e-e04a-421c-8b0b-a4602aca1856',@EventTypeId=0,@StartDate='1753-01-01 00:00:00',@EndDate='9999-12-30 23:59:00',@ManagementArea=N'',@ManagementArea2=N''
The stored procedure parameters are:
ALTER PROCEDURE [dbo].[p_VoidEventSearchList]
@UserId NVARCHAR(40) = ''
, @EventTypeId INT = 0
, @StartDate datetime--nvarchar(10) = ''
, @EndDate datetime--nvarchar(10) = ''
, @ManagementArea NVARCHAR(10) = ''
, @ManagementArea2 NVARCHAR(10) = ''
AS
BEGIN
As some of the posts have sugeested I have made sure that the datatime is passed as datetime and not as string but this has not helped and the call is still timing out.