我可以直接在查询中传递参数,如下所示吗?
有错误,所以任何人都可以提供帮助吗?
public IEnumerable ListTop10countries(string direction)
{
using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["MYCON"].ToString()))
{
var list = con.Query<OutputCountries>("Usp_GetTop10", direction).AsEnumerable();
return list;
}
}
错误:
An exception of type 'System.Data.SqlClient.SqlException' occurred in System.Data.dll but was not handled in user code
Additional information: Procedure or function 'Usp_GetTop10' expects parameter '@direction', which was not supplied.
存储过程脚本如下:
CREATE proc [dbo].[Usp_GetTop10]
@direction nvarchar(30)
as
begin
SELECT TOP 10
[country]
,[Tons]
FROM [master].[dbo].[a]
where direction = @direction
order by [Tons] Desc
end
GO
答案 0 :(得分:1)
试试这个
public IEnumerable ListTop10countries(string mydirection)
{
using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["MYCON"].ToString()))
{
var list = con.Query<OutputCountries>("Usp_GetTop10", new {direction = mydirection}, commandType: CommandType.StoredProcedure).AsEnumerable();
return list;
}
}