【发布时间】:2019-09-02 20:41:45
【问题描述】:
我想在 .NET CORE 2.1 (C#) 中编写一个控制器,它公开了一个 SINGLE 函数,该函数可用于调用 sql server 中的任何存储过程。
所以这个函数必须能够接受未定义参数的列表,并且它必须能够返回存储过程正在创建的数据集。
这可能吗?我是 Web API 的新手。我在 SQL Server 和 Windows 客户端中练习过,但我对 Web API 和 C# 后端一般来说是新手。
【问题讨论】:
-
为什么要这样做?您可能实际上并没有... 似乎会产生许多安全问题。听起来您可能想研究 SSRS
-
那么你到底想完成什么?我只是在努力想出一组要求,这将是一个很好的解决方案
-
我的第一次尝试是接收一个 JsonObject,然后尝试反序列化为一个对象,直到它工作为止。但我不知道它是否会起作用。另一种解决方案是,您可以为请求参数创建一个对象,使用一个枚举来标识您可以接收的每个对象的类型和一个属性,您只需要确保前端将发送相同的格式。
-
@askolotl 您所询问的内容已经可以通过 OData 或 GraphQL 获得。 OData 服务器库可用于所有 .NET 堆栈。 GraphQL 通过第三方包得到支持,并且更受欢迎
-
@askolotl 在任何情况下,APEX 都是类似于旧 Oracle Forms 的 RAD 工具,而不是数据库访问 API。我敢打赌它也不使用单个函数来调用所有存储过程。它很可能使用类似 OData 的 API 在浏览器应用程序和服务器端服务之间进行数据通信
标签: c# sql-server asp.net-web-api asp.net-core-webapi