如何使用 Linq2DB 调用返回 OracleRefCursor 的 PL/SQL 函数?
How to call a PL/SQL function returning an OracleRefCursor with Linq2DB?
我想调用一个 PL/SQL 函数 returns 一个 SYS_REFCURSOR
.
我尝试过的一种方法是这样的:
var userIdParameter = DataParameter.Decimal("userId", user.Id);
var returnValue = new DataParameter { Direction = ParameterDirection.ReturnValue };
var result = dataConnection.ExecuteProc("SECURITY.GetUserRoles", userIdParameter, returnValue);
这会产生以下错误:
PLS-00382: expression is of wrong type
Linq2DB 支持返回 SYS_REFCURSOR
的函数吗?
在 Linq2DB 1.8 中添加了对此类参数的支持。您需要将 DataType = DataType.Cursor
添加到 return 参数。
参见 linq2db 测试中的示例:https://github.com/linq2db/linq2db/blob/master/Tests/Linq/DataProvider/OracleTests.cs#L1881
我想调用一个 PL/SQL 函数 returns 一个 SYS_REFCURSOR
.
我尝试过的一种方法是这样的:
var userIdParameter = DataParameter.Decimal("userId", user.Id);
var returnValue = new DataParameter { Direction = ParameterDirection.ReturnValue };
var result = dataConnection.ExecuteProc("SECURITY.GetUserRoles", userIdParameter, returnValue);
这会产生以下错误:
PLS-00382: expression is of wrong type
Linq2DB 支持返回 SYS_REFCURSOR
的函数吗?
在 Linq2DB 1.8 中添加了对此类参数的支持。您需要将 DataType = DataType.Cursor
添加到 return 参数。
参见 linq2db 测试中的示例:https://github.com/linq2db/linq2db/blob/master/Tests/Linq/DataProvider/OracleTests.cs#L1881