C# EF6存储过程必须声明标量变量
我试图使用C#EF6调用一个存储过程以返回数据。我曾尝试在SQL management studio中运行该存储过程,它似乎工作正常,但当我尝试在我的应用程序中运行它时,我得到一个错误,即C# EF6存储过程必须声明标量变量,c#,asp.net-mvc,entity-framework,stored-procedures,C#,Asp.net Mvc,Entity Framework,Stored Procedures,我试图使用C#EF6调用一个存储过程以返回数据。我曾尝试在SQL management studio中运行该存储过程,它似乎工作正常,但当我尝试在我的应用程序中运行它时,我得到一个错误,即“必须声明标量变量“@devID” 下面是我在应用程序中调用存储过程的部分方法 public IHttpActionResult GetMetrics(int deviceID, string attribute, string startDate) { if (deviceID =
“必须声明标量变量“@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();
根据,如果要使用命名参数,需要传递如下对象:
var metrics = db.Database.SqlQuery<Metrics>("GetMetrics @devID, @MetricType, @startTime",
new SqlParameter("devID", deviceID),
new SqlParameter("MetricType", attribute),
new SqlParameter("startTime", startDate)
).ToList();
var metrics=db.Database.SqlQuery(“GetMetrics@devID,@MetricType,@startTime”,
新的SqlParameter(“deviceID”,deviceID),
新的SqlParameter(“MetricType”,属性),
新的SqlParameter(“startTime”,startDate)
).ToList();
var metrics = db.Database.SqlQuery<Metrics>("GetMetrics @devID, @MetricType, @startTime",
new SqlParameter("devID", deviceID),
new SqlParameter("MetricType", attribute),
new SqlParameter("startTime", startDate)
).ToList();