저장 프로 시저에 매개 변수를 전달하고 IEnumerable 반환

c# dapper sql-server stored-procedures

문제

아래와 같이 쿼리에서 매개 변수를 직접 전달할 수 있습니까?

누군가가 도울 수있는 오류가 있습니까?

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.

저장된 proc 스크립트는 다음과 같습니다 :

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

수락 된 답변

이 시도

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;
    }
}


아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow