Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# EF6存储过程必须声明标量变量_C#_Asp.net Mvc_Entity Framework_Stored Procedures - Fatal编程技术网

C# EF6存储过程必须声明标量变量

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 =

我试图使用C#EF6调用一个存储过程以返回数据。我曾尝试在SQL management studio中运行该存储过程,它似乎工作正常,但当我尝试在我的应用程序中运行它时,我得到一个错误,即
“必须声明标量变量“@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();