Взгляните на следующие представления:
Information_Schema.TABLES
Information_Schema.COLUMNS
Information_Schema.REFERENTIAL_CONSTRAINTS
Information_Schema.TABLE_CONSTRAINTS
Information_Schema.KEY_COLUMN_USAGE
У меня нет кода для вручения (извините), но я использовал его раньше, чтобы воссоздать определение таблицы на основе собственных метаданных базы данныхв чистом TSQL, и нет никаких причин, по которым это не может быть сделано в C # внутри приложения.Объедините их вместе, объявите строку для вашего окончательного определения и наведите курсор на набор результатов, чтобы получить все поля в вашей таблице, создавая выходные данные.Когда вы закончите, верните это клиенту.В целях тестирования сравните вывод вашего кода с тем, что генерирует SSMS, когда вы просите его создать сценарий для создания таблицы, и, надеюсь, вы сможете сравнительно быстро воссоздать определения таблиц.