根据我的报告需要,我在 SQL Server 中创建了各种存储过程。我想创建一个 API,它读取存储过程的名称作为输入并返回从存储过程返回的结果数组。
请注意,同一个方法将调用各种存储过程并向我的 UI 返回一种 JSON 格式的动态匿名对象数组。
是否可以使用 Entity Framework 解决方案。不使用 ADO.net 连接机制?
意图:每次需要新报告时,我不需要发布我的软件的新版本。我将只在后端创建存储过程,并在我的 API 读取的某个表中添加新存储过程的名称。
最佳答案
这可以通过 SqlDataAdapter
轻松获得对象。但是,据我所知,您不能使用 Entity Framework 来做到这一点,只需直接 SqlConnection
管理即可。
SqlDataAdapter 有 a nice example这样做:
private static DataSet SelectRows(DataSet dataset, string connectionString,string queryString)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
SqlDataAdapter adapter = new SqlDataAdapter();
adapter.SelectCommand = new SqlCommand(queryString, connection);
adapter.Fill(dataset);
return dataset;
}
}
生成的 DataSet 将有一个(或多个,如果 sproc 返回更多)包含执行结果的 DataTable
。
显示它或以某种方式处理它取决于您。
关于c# - 在 ASP.net 中运行时调用存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37421804/