Dapper-Contrib输出参数



我正在研究Dapper-Contrib存储过程,不知道如何从该过程中获取值输出参数。

这是我的存储过程:

ALTER PROCEDURE [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");

最新更新