我正在尝试使用PetaPoco设置输出参数。我发现有人在网上使用这个样本:
var ctx = new CustomDBDatabase();
var total = new SqlParameter("Total", System.Data.SqlDbType.Int);
total.Direction = System.Data.ParameterDirection.Output;
var results = ctx.Query<DBEntity>("exec GetDBEntities @StartIndex, @MaxIndex, @TotalCount = @Total out",
id, start, max, total);
int totalCount = (int)total.Value;
但是,total.value
返回null,即使我直接针对SQL Server运行此语句,它也会返回3.这是否与PetaPoco正确设置?是否支持输出参数?
感谢。
答案 0 :(得分:9)
支持此功能。但无论如何,你目前的语法都是错误的。
var ctx = new CustomDBDatabase();
var total = new SqlParameter("TotalCount", System.Data.SqlDbType.Int);
total.Direction = System.Data.ParameterDirection.Output;
var results = ctx.Query<DBEntity>("exec GetDBEntities @StartIndex, @MaxIndex, @TotalCount OUTPUT", new { StartIndex = start, MaxIndex = max, TotalCount = total});
int totalCount = (int)total.Value;
这样的事情应该可行。不太确定sql语法,但这应该可以帮助你。