수색…


기본 사용법

단일 개체 / 호출에서 모든 매개 변수를 깔끔하게 정리할 수있는 것은 아닙니다. 보다 복잡한 시나리오를 돕기 위해 dapper는 param 매개 변수가 IDynamicParameters 인스턴스가되도록합니다. 이렇게하면 적절한 시간에 사용자 지정 AddParameters 메서드가 호출되고에 추가 할 명령이 전달됩니다. 그러나 대부분의 경우 기존의 DynamicParameters 유형을 사용하면 충분합니다.

var p = new DynamicParameters(new { a = 1, b = 2 });
p.Add("c", dbType: DbType.Int32, direction: ParameterDirection.Output);
connection.Execute(@"set @c = @a + @b", p);
int updatedValue = p.Get<int>("@c");

이것은 보여줍니다 :

  • 기존 객체의 (선택 사항) 모집단
  • (선택 사항) 즉석에서 추가 매개 변수 추가
  • 매개 변수를 명령에 전달
  • 명령이 완료된 후 업데이트 된 값을 검색합니다.

RDBMS 프로토콜의 작동 방식으로 인해 Query ( Query 또는 QueryMultiple) 작업의 모든 데이터가 완전히 소비 된 후에 업데이트 된 매개 변수 값을 얻는 것이 일반적으로 신뢰할 만합니다 (예 : SQL Server에서 업데이트 된 매개 변수 값은 끝에 있습니다 TDS 스트림의).

Dapper의 동적 매개 변수

connection.Execute(@"some Query with @a,@b,@c", new {a=somevalueOfa,b=somevalueOfb,c=somevalueOfc});

템플릿 객체 사용

개체의 인스턴스를 사용하여 매개 변수를 구성 할 수 있습니다

public class SearchParameters {
  public string SearchString { get; set; }
  public int Page { get; set; }
}

var template= new SearchParameters {
  SearchString = "Dapper",
  Page = 1
};

var p = new DynamicParameters(template);

익명 객체 또는 Dictionary 사용할 수도 있습니다.



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow