データベースのクエリを実行してテーブルのスキーマに関する情報を取得する方法はありますか?私は、列名のリストとそれらが主キーであるかどうかを知ることに興味があります。これは可能ですか?私はタイプ、ちょうどその名前とプライマリキーかどうか気にしない。データベーステーブルのフィールドを動的に一覧表示する
サンプル表:
Table Organism
{
primary: int ID;
int Kingdom;
int Phylum;
int Class;
int Genus;
int Species;
nvarchar(50) Name;
}
使用例:
List<Tuple<string, bool>> t = ReadTable("Organism");
t.ForEach(x => Console.WriteLine(x.Item2 ? x.Item2 + ": " + x.Item1 : x.Item1));
サンプル出力:
True ID
Kingdom
Phylum
Class
Genus
Species
Name
私はC#4.0およびSQL Server 2008 R2を使用しています。私はだと思います。これはシステムテーブルを使用して行うことができますが、私はそれを行う方法がわかりません。
トス。 index_columnsテーブルを使用して主キー情報を取得します。 –
私はPKがsys.columnsにあると思います。クラスタード・インデックスはsys.indexにありますが、これは別の概念です。 – usr