具有输出参数的Insight.database和Oracle存储过程

时间:2018-10-08 07:44:54

标签: c# oracle insight.database

调用Oracle存储过程时遇到问题。当我输入outputParameter是一个对象,但它仍然为空时,我还将InsightDbConnection与Execute方法一起使用。

这是我的代码

var storedProcedureName = "spTest";
object param = new { P_Param1 = "",//output parameter
                     P_Param2 = "Input parameter"
                   };
object output = new {P_Param1 = ""};
IDbConnection  dbConnect = new OracleConnection(connectionString).OpenConnection();
dbConnect .Execute(storedProcedureName , param , outputParameters: output);

任何人都可以帮助我。

1 个答案:

答案 0 :(得分:0)

您的输出对象是匿名类型。在c#中,匿名类型的属性是只读的,一旦创建,便无法更改。

有一个测试案例,展示了如何在oracle中使用输出参数:

https://github.com/jonwagner/Insight.Database/blob/734a3e09fa3c7ae3b8ac63fc8c49f8fcb4bd3fa5/Insight.Tests.OracleManaged.Core/OracleTests.cs#L79

相关问题