SQL Server 2008 でストアド プロシージャを呼び出すために MVC3 と Entity Framework を使用しています。プロシージャにはパラメータがなく、プロファイラでは proc の実行を次のように取得します。
exec sp_executesql N'sp_GetDashSessionboardRoomTimeSlot', N'@p0 nvarchar(4000)', @p0=NULL
これは、C# コードで呼び出す方法です。
SqlParameter sa = null;
var query = from dashboardData in TBSCIDBContext.Database.SqlQuery<SessionDashboardData>("sp_GetDashSessionboardRoomTimeSlot", sa)
select dashboardData;
これはうまくいきます。しかし、データベースを SQL Server 2005 に変更したので、それを使用する必要があります
したがって、同じ C# コードを使用して同じプロシージャを呼び出すと、プロファイラーは同じ exec ステートメントを返しますが、SQL でエラーが発生します
「sp_GetDashSessionboardRoomTimeSlot」付近の構文が正しくありません
このストアド プロシージャと SQL Server 2005 を使用する必要があるため、この問題を解決する方法を教えてください。