В настоящее время я использую...
select Table_Name, Column_name, data_type, is_Nullable
from information_Schema.Columns
... для определения информации о столбцах в данной базе данных для создания уровня DataAccess.
Откуда я могу получить информацию о том, являются ли эти столбцы участниками первичного ключа таблицы?