データベースにクエリを実行して、テーブルのスキーマに関する情報を取得する方法はありますか? 列名のリストを取得し、それらが主キーであるかどうかに興味があります。これは可能ですか?タイプは気にしません。その名前と、それが主キーかどうかだけです。
サンプル テーブル:
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 を使用しています。これはシステム テーブルを使用して可能であると思いますが、その方法がわかりません。