【问题标题】:Using Entity Framework 6 code first to call stored procedure in Oracle首先使用Entity Framework 6代码在Oracle中调用存储过程
【发布时间】:2016-03-08 11:13:10
【问题描述】:

我正在使用 Entity Framework 6 使用存储过程从 Oracle 数据库中获取记录,该存储过程采用集合类型的 out 参数。存储过程在集合类型的 out 参数中返回 select 查询的结果。例如

procedure GetEmployees(recordset OUT employeesList)
{
    employeesList = select * from employee
} 

如何调用存储过程并获得结果?或者有什么首选的解决方案?

【问题讨论】:

    标签: oracle entity-framework collections types procedure


    【解决方案1】:
    using(var context = new DatabaseContext())
    {
            var param1 = new SqlParameter("@Param1", 1);
            var param2 = new SqlParameter("@Param2", 2);
    
            var result = context.Database
                .SqlQuery<Employee>("SP_NAME @Param1 @Param2", param1,param2)
                .ToList();
    }
    

    如果 Recordset 是参数列表。您应该单独更改它的参数。我从未见过将参数列表发送到 sp。

    【讨论】:

    • 存储过程GetEmployees(recordset OUT employeesList)中的参数“employeesList”是oracle类型的“Table”,不是参数列表。此外,它被用于“OUT”方向,必须由 .net 开发人员在代码中提供。 .net 开发人员如何在调用存储过程时发送这种类型的 OUT 参数。
    猜你喜欢
    • 2015-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多