C# 在ASP.net中运行时调用存储过程

C# 在ASP.net中运行时调用存储过程,c#,sql-server,asp.net-mvc,entity-framework,stored-procedures,C#,Sql Server,Asp.net Mvc,Entity Framework,Stored Procedures,根据我的报告需要,我在SQL Server中创建了各种存储过程。我想创建一个API,它读取存储过程的名称作为输入,并返回存储过程返回的结果数组 注意,同一个方法将调用各种存储过程,并将一种JSON格式的动态匿名对象数组返回到我的UI 使用实体框架解决方案是否可行。不使用ADO.net连接机制 意图:每当需要新的报告时,我不需要对我的软件进行新的发布。我将只在后端创建存储过程,并在一些表中添加新存储过程的名称,这些表将由我的API读取。这可以通过对象轻松获得。然而,据我所知,您不能用实体框架来实现

根据我的报告需要,我在SQL Server中创建了各种存储过程。我想创建一个API,它读取存储过程的名称作为输入,并返回存储过程返回的结果数组

注意,同一个方法将调用各种存储过程,并将一种JSON格式的动态匿名对象数组返回到我的UI

使用实体框架解决方案是否可行。不使用ADO.net连接机制


意图:每当需要新的报告时,我不需要对我的软件进行新的发布。我将只在后端创建存储过程,并在一些表中添加新存储过程的名称,这些表将由我的API读取。

这可以通过对象轻松获得。然而,据我所知,您不能用实体框架来实现,只需直接
SqlConnection
管理即可

SqlDataAdapter具有以下功能:

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;
    }
}
结果数据集将有一个(或多个,如果存储过程返回更多)
DataTable
,其中将包含执行结果


显示它或以某种方式处理它取决于您。

Entity framework也使用ado.net。那么,您要求不使用ado.net的理由是什么呢?我想坚持当前的EF6,通过编写所有自定义的核心db连接类,不使用ado.net连接/断开连接的体系结构。对不起,没有说清楚!!!到目前为止,我在sql server中生成了存储过程,当我更新asp.net应用程序时,EF将根据存储过程的返回类型生成类,并在上下文类中添加类似“public virtual ObjectResult StoredProcName(parameters,如果有){//调用传递存储过程名称的ExecuteFunction方法}----我需要一个新的泛型方法,它可以调用所有存储过程并返回类似List的内容