SQL Server 2005中的实体框架中的存储过程执行

Stored procedure execution in Entity Framework in SQL Server 2005

我正在使用MVC3和实体框架调用SQL Server 2008中的存储过程。该过程没有参数,在探查器中,我得到的过程执行为

1
exec sp_executesql N'sp_GetDashSessionboardRoomTimeSlot', N'@p0 nvarchar(4000)', @p0=NULL

这就是我调用C代码的方式。

1
2
3
SqlParameter sa = null;
var query = from dashboardData in TBSCIDBContext.Database.SqlQuery<SessionDashboardData>("sp_GetDashSessionboardRoomTimeSlot", sa)
            select dashboardData;

这个很好用。但我已将数据库更改为SQL Server 2005,需要使用它

因此,当我使用相同的C代码调用相同的过程时,探查器返回相同的exec语句,但SQL给出错误

Incorrect syntax near 'sp_GetDashSessionboardRoomTimeSlot'

请帮助我解决这个问题,因为我需要使用这个存储过程和SQL Server 2005


把它改成

var query=来自tbscibContext.database.sqlquery中的DashboardData("sp_GetDashSessionBoardRoomTimeslot")。选择仪表盘数据;

它起作用了


将ssdl中的ProviderManifestToken更改为2005。你可能把它设定在2008年。