닷퍼 닷넷 예제 코드

dapper sample

문제

이것은 Dapper 예제에서 바로 코드를 잘라냅니다.

var p = new DynamicParameters();
p.Add("@a", 11);
p.Add("@b", dbType: DbType.Int32, direction: ParameterDirection.Output);
p.Add("@c", dbType: DbType.Int32, direction: ParameterDirection.ReturnValue); 
cnn.Execute("spMagicProc", p, commandType: commandType.StoredProcedure);
int b = p.Get("@b");
int c = p.Get("@c");

누구나 : 위의 코드에서 제공된 예제에서 cnn.Execute 참조하여 "해결할 수 없습니다."오류가 발생합니다. 연결 개체를 보면 Execute 메서드가 없습니다. Dapper는 분명히 잘 작동하기 때문에 내가 뭘 잘못하고 있니?

수락 된 답변

나는 이것이 당신을 고쳐 주어야한다고 생각합니다.

using( var connection = new SqlConnection( connectionString ) )
{
    try
    {
        var p = new DynamicParameters();
        p.Add( "a", 11 );
        p.Add( "b", dbType: DbType.Int32, direction: ParameterDirection.Output );
        p.Add( "c", dbType: DbType.Int32, direction: ParameterDirection.ReturnValue );
        connection.Open();
        connection.Execute( "MyDamnStoredProc", p, commandType: CommandType.StoredProcedure );
        int b = p.Get<int>( "b" );
        int c = p.Get<int>( "c" );
    }
    catch( Exception ex )
    {
        Console.WriteLine( ex.Message );
    }
}

참고 사항 :

  1. 매개 변수에는 @ 기호가 필요하지 않습니다. 대퍼가 당신을 위해 그것을 처리 할 것입니다.
  2. 명명 된 매개 변수를 사용해야합니다. commandType: 매개 변수를 지정하는 업데이트 된 connection.Execute 메소드를 참조하십시오. 옵션 매개 변수를 메서드 호출에서 생략 할 수 있도록이 작업을 수행합니다.

인기 답변

"해결할 수 없습니다. 실행"

그건 당신의 확장 방법이 누락 된 원인이 될 것입니다, 당신 using Dapper;using Dapper; 했습니까? 파일 상단에 있습니다.

참조 : http://msdn.microsoft.com/en-us/library/bb308966.aspx#csharp3.0overview_topic3



아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.