我已根据报告的需要在SQL Server中创建了各种存储过程。我想创建一个单独的API,它读取存储过程的名称作为输入,并返回从存储过程返回的结果的数组。
要注意,同一个方法将调用各种存储过程并将一种JSON格式的动态匿名对象数组返回给我的UI。
使用Entity Framework是否可以实现解决方案。不使用ADO.net连接机制?
意图:每当需要新报告时,我都不需要制作新版本的软件。我将在后端创建存储过程,并在某些表中添加新存储过程的名称,该表将由我的API读取。
答案 0 :(得分:0)
使用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
将包含执行结果。
由您来显示或以某种方式处理它。