如何确定存储过程参数在 C# 代码中是否可选(我正在使用 Sql 服务器)

How can I determine whether Stored Procedure Parameter is optional from C# code (I am using Sql Server)

我正在使用 C# 连接到 Sql 服务器。我试图在调用存储过程之前获取存储过程的参数详细信息。您能否帮助我了解如何从 C# 代码本身了解任何 SP 参数是否可选。

我在 VS 2013 中使用 loaclDb。我有可用的数据源和 Db 文件名。

TIA。

你可以这样做:

 Server servev = new Server("YourServerName"); 
    Database dataBase = servev .Databases["YourDatabase"]; 
    var paramData = dataBase.StoredProcedures["YourProcedureName"].Parameters;

    foreach(StoredProcedureParameter param in param) {
       string paramName=param.Name;
       string paramValue=param.DefaultValue;
    }