보안 토큰 서비스에 사용할 클레임 공급자 클래스를 작성하는 중입니다. 예를 들어,SQL : 행을 열로 바꿉니다 (새 열에 열 이름 포함)
SELECT A, B, C, ..., X FROM Permissions WHERE UserId = @UserId
나에게 하나의 행을 줄 것입니다 :
사용자 권한은 SQL 서버에서 2008 R2 데이터베이스를 읽기
A B C ... X
1 0 1 1
는이 데이터를 가지고하는 것이 훨씬 쉬울 것 양식
Permission Value
A 1
B 0
C 1
...
X 1
실제 테이블에는 수십 개의 열이 있기 때문에 가능한 것이 좋습니다. 실제로 열 이름을 직접 입력 할 필요없이 "동적으로"조 변경을 수행 할 수 있습니다.
필자는 PIVOT/UNPIVOT 기능과 INFORMATION_SCHEMA.COLUMNS보기가 필요한 것처럼 느껴지지만 어떻게 해야할지 알 수 없습니다.
이렇게하는 쿼리에 대한 아이디어가 있습니까?
추신. 만약 push가 밀려 온다면 DataTable에 결과 세트를 저장하고 사용자의 클레임을 생성하기 위해 코드의 컬럼을 반복 할 것입니다. 그러나 먼저 위의 접근이 가능한지 알아 내고 싶습니다.
참조
: 당신은 동적 SQL을 사용하여 코드는 다음과 유사 할 것 한판 승부'join' 아마도? – Joe
어떤 데이터베이스를 사용하고 있습니까? – RedFilter
얼마나 많은 변수를 가지고 있느냐에 따라 단순히 UNION ALL을 사용할 수 있습니다. – Kermit