我想调用一个返回SYS_REFCURSOR
的PL / SQL函数。
我尝试过的方法之一就是这样:
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
吗?
答案 0 :(得分:2)
Linq2DB 1.8中添加了对此类参数的支持。您需要添加DataType = DataType.Cursor
才能返回参数。
请参阅linq2db测试中的示例:https://github.com/linq2db/linq2db/blob/master/Tests/Linq/DataProvider/OracleTests.cs#L1881