Dapper Contrib 输出参数

Dapper Contrib Output Parameter

我正在研究 Dapper Contrib Storeprocedure,但我不知道如何从该过程中获取值输出参数,这是我的存储过程:

ALTER PROC [dbo].[spCustomPaging]
    @SkipCount INT,
    @PageSize INT, /*record in 1 page*/
    @TotalRows INT OUTPUT /*tong record*/
AS
BEGIN
SET NOCOUNT ON;
    
    SELECT @TotalRows = COUNT(*)
    FROM dbo.Product

    SELECT *
    FROM dbo.Product
    ORDER BY ProductID OFFSET @SkipCount ROW FETCH NEXT @PageSize ROWS ONLY 

这是我的 Dapper Contrib 查询:

db.Query<Models.Product>("spCustomPaging", new { SkipCount = skip, PageSize = pageSize }, commandType: System.Data.CommandType.StoredProcedure);

如何使用 Dapper Contrib 从商店获取 TotalRow? 抱歉我的英语不好,谢谢。

你可以尝试用DynamicParameters作为你要输出的参数可以声明ParameterDirection.Output的参数,然后我们可以用Get<int>来获取输出值.

var params = new DynamicParameters();
params.Add("@SkipCount",skip);
params.Add("@PageSize",pageSize);
params.Add("@TotalRows", dbType: DbType.Int32, direction: ParameterDirection.Output);

db.Query<Models.Product>("spCustomPaging", params, commandType: System.Data.CommandType.StoredProcedure);

var output = params.Get<int>("@TotalRows");