ASP.NET Core 中使用 Dapper 的 Oracle 存储过程输出参数
public async Task<IEnumerable<YourEntity>> GetYourEntitiesAsync(int param1, string param2)
{
using (var connection = new OracleConnection(_connectionString))
{
var sql = "CALL your_package.your_procedure(:param1, :param2, :output)";
var parameters = new OracleDynamicParameters();
parameters.Add("param1", param1, OracleDbType.Int32, ParameterDirection.Input);
parameters.Add("param2", param2, OracleDbType.NVarChar, ParameterDirection.Input);
parameters.Add("output", OracleDbType.RefCursor, ParameterDirection.Output);
using (var reader = await connection.QueryMultipleAsync(sql, parameters))
{
return reader.Read<YourEntity>();
}
}
}
这段代码展示了如何在ASP.NET Core应用程序中使用Dapper来调用一个Oracle存储过程,并获取输出参数(一个游标)中的结果集。这里使用了OracleDynamicParameters
来处理不同的Oracle数据类型,并且使用了QueryMultipleAsync
来同时处理多个结果集。
评论已关闭