3

どの列が主キーであるかを判断するために使用したいSQL Serverスキーマコレクションに基づいています。sqlConnection.GetSchema("IndexColumns");

いくつかの実験を行ったところ、上記のリクエストで次の情報を含むデータ テーブルが得られることがわかりました。

table_catalog   table_schema   table_name              column_name ordinal_position   KeyType   index_name
---------------------------------------------------------------------------------------------------------------------------
TestDb          dbo            TestTableWithPrimaryKey     Id              1             56      PK_TestTableWithPrimaryKey 

主キーのKeyType = 56略だと思いますが、これはこのテーブル定義からのみ推測されます:

CREATE TABLE [dbo].[TestTableWithPrimaryKey]
(
    [Id] [int] IDENTITY(1,1) NOT NULL,
    [Foo] [nvarchar](50) NOT NULL,

    CONSTRAINT [PK_TestTableWithPrimaryKey] 
        PRIMARY KEY CLUSTERED ([Id] ASC)
) ON [PRIMARY]

プロジェクトで実際に使用する前に、調査結果が正しいことを確認したいと思います。すべての種類のキーを入手できる場所はありますか?

4

2 に答える 2