如何使用 ADO.NET GetSchema() 只获取用户定义的存储过程?

How to use ADO.NET GetSchema() to get only user-defined stored procedures?

Connection.GetSchema["Procedures"] returns 所有存储过程,包括 system。如何将其限制为仅 return 用户定义的 存储过程?

您可以在 GetSchema 方法中添加 限制条件

string[] restrictions = new string[] { null, null, null, "P" };
var x = connection.GetSchema("Procedures", restrictions);

根据MSDN GetSchema reference。如果您查看 Procedures 部分,Procedure 的 第 4 个参数 Type.

我没有打开任何代码,所以我不能 100% 确定上面的方法是否有效,但它肯定会让你走上正轨。

第一行应为:

string[] restrictions = new string[] { null, null, null, "PROCEDURE" };