小编Wae*_*rad的帖子

在 Entity Framework Core 中执行 Oracle 存储过程

当我尝试使用 Entity Framework Core 执行 Oracle 存储过程时,出现以下异常:

找不到 CLR 类型“OracleParameter[] 到关系类型的映射”

我尝试了ExecuteSqlCommandFromSQL方法,都导致相同的异常。

Oracle存储过程代码:

CREATE OR REPLACE Procedure GET_DEPT_PROC (
p_ParentSiteId number,
P_SiteId number,P_LoggedUserId number, P_curParam OUT sys_REFCURSOR) as
Begin
OPEN curParam FOR 
select 1 Id, 2 EntityAlmostOnRenewalTrans, 3 EntityVerifiedTrans, 4 
EntityCompletedTrans, 5 EntityClosedTrans, 6 MyVerifiedTrans, 7 
MyCreatedTrans, 8 MyDraftedTrans, 9 MyRejectedTrans FROM DUAL;

End;
Run Code Online (Sandbox Code Playgroud)

执行此存储过程的 C# 方法:

public virtual DashBoardData GetDashBoardData(short parentSiteId, short siteId, int loggedUserId)
{
     var parameters = new OracleParameter[]
            {                        
                    new OracleParameter("@p_ParentSiteId", parentSiteId), …
Run Code Online (Sandbox Code Playgroud)

c# sql-server oracle entity-framework-core .net-core

5
推荐指数
1
解决办法
1万
查看次数