嗨我正在研究mvc作为我学习的一部分,所以我遇到了一个需要将数据表传递到sp的情况,以及数据表我必须给出一个输出参数int
这种类型。目前我正在使用此代码
con.Execute("XXXXXXX",
new { @LoginId = LoginId, @City= City, @RegionCode = RegionCode, @CarList= Cars, @CompCOde = COmp},
commandType: CommandType.StoredProcedure);
这里的Cars是一个数据表,所以我想为此添加一个输出参数,请给我一个解决方案。
答案 0 :(得分:3)
我会创建一个参数列表,其中一个指定为ParameterDirection.Output
,然后您就可以使用Get
从中读取。
我使用以下示例做了一些假设,包括一个int输出参数(未测试)
SqlConnection con = new SqlConnection();
DynamicParameters p = new DynamicParameters();
p.Add("@LoginId", LoginId, dbType: DbType.VarNumeric, direction: ParameterDirection.Input);
p.Add("@City", City, dbType: DbType.VarNumeric, direction: ParameterDirection.Input);
p.Add("@RegionCode", RegionCode, dbType: DbType.VarNumeric, direction: ParameterDirection.Input);
p.Add("@CarList", Cars.AsTableValuedParameter());
p.Add("@SomeId", dbType: DbType.Int32, direction: ParameterDirection.Output);
con.Execute("XXXXXXX",p,commandType: CommandType.StoredProcedure);
int someId = p.Get<int>("@SomeId");