Dapper는 SQL 2008 테이블 반환 매개 변수를 지원합니까?

.net dapper

문제

누구도 Dapper를 사용하여 테이블 반환 매개 변수 데이터를 저장 프로 시저에 전달할 수 있는지 알고 있습니까?

수락 된 답변

이제 dapper에 구운 테이블 반환 매개 변수에 대한 직접 지원 (n Dapper 1.26 이상)이 있습니다. 저장 프로 시저의 경우 데이터 유형이 sproc API에 내장되어 있으므로 DataTable 제공하기 DataTable .

var data = connection.Query<SomeType>(..., new {
    id=123, name="abc", values = someTable.AsTableValuedParameter("mytype")
}, ...);

직접 명령 텍스트의 경우 두 가지 다른 옵션이 있습니다.

  • 도우미 메서드를 사용하여 사용자 지정 데이터 형식을 지정합니다.

    var data = connection.Query<SomeType>(..., new {
        id=123, name="abc", values = someTable.AsTableValuedParameter("mytype")
    }, ...);
    
  • 사용할 사용자 정의 데이터 유형을 데이터 테이블 자체에 알립니다.

    var data = connection.Query<SomeType>(..., new {
        id=123, name="abc", values = someTable.AsTableValuedParameter("mytype")
    }, ...);
    

이들 중 어떤 것도 잘 작동합니다.


전문가 답변

오늘 은 그렇지 않습니다. 우리는 실제로 건방진 "in"구현 ( where col in @values 대해 테이블 ​​valed 매개 변수를 조사했지만 성능은별로별로 where col in @values 하지 않았습니다. 그러나 SPROC의 컨텍스트에서는 의미가 있습니다.

최선의 방법은 프로젝트 사이트에서 문제를 기록하여 우선 순위를 매길 수 있습니다. 그래도 DbString 또는 DynamicParameters 옵션과 비슷한 무언가가 가능할 것 같습니다.

그러나 오늘? 아니.




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