Если вы на самом деле не хотите выполнять хранимую процедуру, поскольку различным хранимым процедурам передается ряд различных параметров, вы можете использовать системную хранимую процедуру sp_describe_first_result_set, чтобы возвращать столбцы результирующего набора, предполагая, что есть только один.
/// <summary>
/// Returns table for which stored procedures need to be generated.
/// </summary>
string TableName = "usp_getNominalCode";
string SchemaName = "Financial";
DataTable DataTable
{
get
{
if (_table == null)
{
Server server = new Server(new ServerConnection(new SqlConnection(this.ConnectionString)));
SqlConnectionStringBuilder connectionStringBuilder = new SqlConnectionStringBuilder(this.ConnectionString);
Database database = new Database(server, connectionStringBuilder.InitialCatalog);
DataSet storedProcedureColumns = database.ExecuteWithResults("sp_describe_first_result_set @tsql= " + "'[" + SchemaName + "]" + ".[" + TableName + "]'");
_table = storedProcedureColumns.Tables[0];
}
return _table;
}
}
DataTable _table;
Затем вы можете запросить эту таблицу для ее структуры, как и другой ответ, но она будет немного более общей