Я пытаюсь вызвать хранимую процедуру с использованием C# EF6 для возврата данных. Я попытался запустить хранимую процедуру в студии управления SQL и, похоже, работает нормально, однако, когда я пытаюсь запустить ее в своем приложении, я получаю сообщение об ошибке "Must declare the scalar variable "@devID"
Хранимая процедура EF6 должна объявлять скалярную переменную
Вот часть моего метода в моем приложении, хранимая процедура
public IHttpActionResult GetMetrics(int deviceID, string attribute, string startDate)
{
if (deviceID == 0)
{
return NotFound();
}
var metrics = db.Database.SqlQuery<Metrics>("GetMetrics @devID, @MetricType, @startTime", deviceID, attribute, startDate).ToList();
и вот моя хранимая процедура:
ALTER PROCEDURE [dbo].[GetMetrics]
-- Add the parameters for the stored procedure here
@devID int,
@MetricType nvarchar(20),
@startTime nvarchar(50)
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
SELECT *
FROM dbMetrics
WHERE deviceID = @devID and MetricType = @MetricType and timeStamp >= @startTime
ORDER BY timeStamp
END