2017-08-29 33 views
0

我正在使用Azure App Service的.NET后端。我想通过一个SQL查询来执行存储过程,但我得到了以下错误:Azure应用服务.Net后端 - 执行存储过程查询时出错

Procedure or function 'IndividualAverages' expects parameter '@userId', which was not supplied

我不知道为什么我收到的时候我已经明确地提供所有的参数,包括上面的@userId这个错误。

这是我的代码:

var paramId = new System.Data.SqlClient.SqlParameter("@userId", user_accountId.Trim()); 
var paramDateStart = new System.Data.SqlClient.SqlParameter("@StartDate",newStartDate.ToUniversalTime()); 
var paramDateEnd = new System.Data.SqlClient.SqlParameter("@EndDate", newEndDate.ToUniversalTime()); 

var userAverage = context.IndividualAverage.SqlQuery("EXEC dbo.IndividualAverages" , paramId, paramDateStart, paramDateEnd).ToList(); 

有人能指出我在正确的方向?

谢谢。

+2

“EXEC dbo.IndividualAverage计划** S **”(注意S)和 “IndividualAverage” 是不一样的SP – Alex

+0

亚历克斯,我编辑我的问题。这是一个疏忽。我纠正了这一点。他们在我的代码中是一样的。 – naffie

回答

0

我能解决这个问题。我需要做的就是在SQL查询语句中添加参数。

var userAverage = context.IndividualAverage.SqlQuery("EXEC dbo.IndividualAverages @userId,@StartDate,@EndDate" , paramId, paramDateStart, paramDateEnd).ToList(); 
相关问题