C# 强制参数,Dapper和System.Data.SqlClient.SqlException

C# 强制参数,Dapper和System.Data.SqlClient.SqlException,c#,dapper,C#,Dapper,我正在使用Dapper调用一个具有强制参数@idProject 这是我的代码片段: using (var c = _connectionWrapper.DbConnection) { var result = c.Query<Xxx>("dbo.xxx_xxxGetPage", new { @idProject = 1 }).AsList(); return result; } 使用(var c=\u connectionWr

我正在使用
Dapper
调用一个具有强制参数
@idProject

这是我的代码片段:

using (var c = _connectionWrapper.DbConnection)
      {
        var result = c.Query<Xxx>("dbo.xxx_xxxGetPage", new { @idProject = 1 }).AsList();
        return result;
      }
使用(var c=\u connectionWrapper.DbConnection)
{
var result=c.Query(“dbo.xxxxxxgetpage”,new{@idProject=1}).AsList();
返回结果;
}
应该有效,但会引发异常:

中发生类型为“System.Data.SqlClient.SqlException”的异常 System.Data.dll,但未在用户代码中处理

附加信息:过程或函数“xxxGetPage” 需要未提供的参数“@idProject”

为什么?

试试这个:

var result = c.Query<Xxx>("dbo.xxx_xxxGetPage", new {1}).AsList();
var result=c.Query(“dbo.xxxxxxgetpage”,new{1}).AsList();

我认为您缺少了
命令类型

using (var c = _connectionWrapper.DbConnection)
{
    var result = c.Query<Xxx>("dbo.xxx_xxxGetPage", new { idProject = 1 }, commandType: CommandType.StoredProcedure).AsList();
    return result;
}
使用(var c=\u connectionWrapper.DbConnection)
{
var result=c.Query(“dbo.xxxxxxgetpage”,new{idProject=1},commandType:commandType.StoredProcedure).AsList();
返回结果;
}
默认情况下,dapper使用文本


取下
@
,看看是否有效。