【发布时间】:2015-09-17 11:39:11
【问题描述】:
我正在尝试使用 C# EF6 调用存储过程以带回数据。我尝试在 SQL 管理工作室中运行存储过程,它似乎工作正常,但是当我尝试在我的应用程序中运行它时,我收到一条错误消息 "Must declare the scalar variable "@devID"
这是我的应用程序中调用存储过程的方法的一部分
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
【问题讨论】:
标签: c# asp.net-mvc entity-framework stored-procedures