セキュリティ トークン サービスで使用するクレーム プロバイダー クラスを作成するのに忙しくしています。
ユーザー権限は、SQL Server 2008 R2 データベースから読み取られます。
SELECT A, B, C, ..., X FROM Permissions WHERE UserId = @UserId
たとえば、次のように単一の行が表示されます。
A B C ... X
1 0 1 1
このデータをフォームに入れる方がはるかに簡単です
Permission Value
A 1
B 0
C 1
...
X 1
実際のテーブルには数十の列が含まれているため、手動で列名を入力する必要なく、「動的に」転置できるようにしたいと考えています。
PIVOT/UNPIVOT 関数と INFORMATION_SCHEMA.COLUMNS ビューが必要なように感じますが、どうすればよいかわかりません。
これを行うクエリのアイデアはありますか?
PS。プッシュが押し寄せた場合、結果セットをDataTableに貼り付け、コード内の列を反復処理してユーザークレームを生成するだけだと思いますが、最初に上記のアプローチが可能かどうかを確認したいと思います:)