Как получить название column, который обозначает Id?
Нашел такой вариант:
var dtCols = con.GetSchema("IndexColumns", new[] { con.Database, null, table });
Нужно найти, название колонки который обозначает Идентификатор (Id) код выше помогает это сделать, но не всегда. А именно index_name - указывает название в виде "PK_{название таблицы}". Но вот у некоторых таблиц имя другое например: PK_HangFire_CounterAggregated. Где идет совсем другой порядок, где HangFire - это схема, а таблица -AggregatedCounter . Вопрос в том, всегда ли добавляется PK к идентификатору (PRIMARY KEY) или есть ли другой способ найти идентификатор таблицы?
Ответы (1 шт):
Если посмотреть на такой пример отсюда
CREATE TABLE Persons (
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
CONSTRAINT PK_Person PRIMARY KEY (ID,LastName)
);
Как видно данный пример нарушает ваши представления о первичном ключе. Имя в принципе можно выбрать самому и колонка вовсе не обязательно быть одной в ключе.