Dapper.NET
동적 매개 변수
수색…
기본 사용법
단일 개체 / 호출에서 모든 매개 변수를 깔끔하게 정리할 수있는 것은 아닙니다. 보다 복잡한 시나리오를 돕기 위해 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