Есть ли способ запросить базу данных для получения информации о схеме таблицы? Мне интересно только получить список имен столбцов и являются ли они первичными ключами; Это возможно? Меня не волнует тип, просто его имя и является ли он первичным ключом.Динамическое отображение полей из таблицы базы данных
Пример таблицы:
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. I думаю это должно быть возможно с использованием системных таблиц, но я не знаю, как это сделать.
Бросок в присоединяется к таблице sys.indexes и SYS. index_columns, чтобы получить информацию о первичных ключах. –
Я думаю, что ПК находится в sys.columns. Кластеризованный индекс находится в sys.index, но это другая концепция. – usr