我有以下存储过程“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);
答案 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());