Мне нужно получить имена столбцов, первичные ключи, внешние ключи и другую информацию о схеме. Класс DataTable
, кажется, содержит все это.
Ниже приведен текущий код, который я получил до сих пор. С его помощью я мог получить всю информацию, кроме внешних ключей . Я ожидаю, что они будут определены в DataTable.Constraints
, но это не так. Это мой текущий код:
private static DataTable LoadSchemaInfo(string tableName, SqlConnection connection)
{
string cmdText = "SELECT * FROM [" + tableName + "] WHERE 1 = 0";
// Create a SqlDataAdapter to get the results as DataTable
var sqlDataAdapter = new SqlDataAdapter(cmdText, connection);
// Create a new DataTable
var dataTable = new DataTable(tableName);
// Fill the DataTable with the result of the SQL statement
sqlDataAdapter.FillSchema(dataTable, SchemaType.Source);
return dataTable;
}
Любая идея, как получить всю информацию или как получить FK (желательно без использования синтаксиса чистого SQL, потому что тогда у меня не будет некоторой проверки во время компиляции)?