Получить схему хранимой процедуры
Я пытаюсь написать основу для создания сущностей из существующей базы данных.
Я уже реализовал весь код для генерации сущностей из таблиц, и он работает хорошо. Сейчас я ищу решение для извлечения всей информации, необходимой для создания объекта хранимой процедуры.
Это код, который я использую, чтобы получить параметры хранимой процедуры
public static List<StoredProcedureParameter> GetStoredProceduresParameters(SqlConnection connection, string storedProcedureName, bool closeConnection = true)
{
var query = @"select Parameter_Name, Data_Type, CHARACTER_MAXIMUM_LENGTH
from information_schema.parameters
where specific_name = @StoredProcedureName";
var storedProcedures = new List<string>();
SqlCommand command = new SqlCommand(query, connection);
command.Parameters.Add(new SqlParameter("StoredProcedureName", storedProcedureName));
DataTable dataTable = new DataTable();
using (SqlDataAdapter dataAdapter = new SqlDataAdapter(command))
{
dataAdapter.Fill(dataTable);
}
if (closeConnection)
{
connection.Close();
}
return DataTableMapper.ReadDataTableList<StoredProcedureParameter>(dataTable);
}
Теперь мне нужно получить схему набора результатов, но я не могу найти правильный способ выполнить эту задачу. Какие-либо предложения?
ПРИМЕЧАНИЕ: все хранимые процедуры всегда будут возвращать только одну возможную схему, поэтому любая хранимая процедура всегда будет соответствовать ровно одному объекту.
2 ответа
Привет SimoneL: Существуют фреймворки для этого, NHibernate или EF (Entity Framework) от Microsoft, они не отвечают всем вашим потребностям?
Начало работы с EF: http://msdn.microsoft.com/en-gb/data/ee712907
Смотрите мой ответ здесь:
Вы не хотите вызывать SP, когда хотите узнать схему, так как это может повлиять на данные.