使用Enterprise library 5.0调用带参数列表的更新存储过程?

时间:2014-05-27 20:00:50

标签: c# stored-procedures enterprise-library

我有以下存储过程“ResponseTracking_Put_Request”,包含15个参数。是否可以传递ExecuteNonQuery命令的参数列表?

而不是重复“.AddInParamter”15次:

SqlDatabase db = new SqlDatabase(_connectionString);
DbCommand dbc = db.GetStoredProcCommand("ResponseTracking_Put_Request");
db.AddInParameter(dbc, "@requestId", DbType.Int32, requestId);
...
...
db.AddInParameter(dbc, "@description", DbType.String, description);
db.ExecuteNonQuery(dbc);

1 个答案:

答案 0 :(得分:0)

ExecuteNonQuery重载,它接受存储过程名称和对象数组。这些对象将用作存储过程的参数。

SqlDatabase db = new SqlDatabase(_connectionString);
db.ExecuteNonQuery("ResponseTracking_Put_Request", requestId, description);

或者替代:

List<object> parameters = new List<object>() { "123", "234", 99 }; 
db.ExecuteNonQuery("ResponseTracking_Put_Request", parameters.ToArray());