C# ODP.NET&&;实体框架&x27;索引超出了数组';例外情况
根据oracle data provider for.net(ODP.net),我正在使用oracle 12 c和entity framework 6。当我试图在插入过程中为计算列添加结果绑定时,我得到了“索引超出了数组的界限”异常 以下是场景详细信息: 我使用Oracle12C创建了这个表,其中包含“commission”作为计算列(vrtual) 之后,我创建了一个insert过程,该过程在末尾返回插入的记录:C# ODP.NET&&;实体框架&x27;索引超出了数组';例外情况,c#,oracle,entity-framework,odp.net,C#,Oracle,Entity Framework,Odp.net,根据oracle data provider for.net(ODP.net),我正在使用oracle 12 c和entity framework 6。当我试图在插入过程中为计算列添加结果绑定时,我得到了“索引超出了数组的界限”异常 以下是场景详细信息: 我使用Oracle12C创建了这个表,其中包含“commission”作为计算列(vrtual) 之后,我创建了一个insert过程,该过程在末尾返回插入的记录: CREATE OR REPLACE PROCEDURE sprocEMP_IN
CREATE OR REPLACE PROCEDURE sprocEMP_INSERT
(
first_name_P EMP.first_name%TYPE ,
last_name_P EMP.last_name%TYPE ,
salary_P EMP.salary%TYPE ,
curParam OUT SYS_REFCURSOR
)
IS
RECORD_ID EMPLOYEES.EMPLOYEE_ID%TYPE;
BEGIN
RECORD_ID := EMPLOYEES_SEQ.NEXTVAL;
INSERT INTO HR.EMPLOYEES
(
id ,
first_name ,
last_name ,
salary
)
VALUES
(
RECORD_ID ,
first_name_P,
last_name_P ,
salary_P
);
COMMIT;
OPEN curParam FOR
SELECT * FROM EMP
WHERE ID = RECORD_ID;
END;
然后我将它们导入EF模型并映射插入过程,如链接图像中所示:
到目前为止,一切正常,insert过程运行良好并返回id值,但当我添加任何其他计算列(如链接图像中)时,我得到“索引超出了数组的界限”异常
异常详细信息:
StackTrace
at Oracle.ManagedDataAccess.Client.OracleDataReader.GetValue(Int32 i)
at System.Data.Entity.Core.Mapping.Update.Internal.FunctionUpdateCommand.Execute(Dictionary`2 identifierValues, List`1 generatedValues)
at System.Data.Entity.Core.Mapping.Update.Internal.UpdateTranslator.Update()
Oracle.ManagedDataAccess
来源
at Oracle.ManagedDataAccess.Client.OracleDataReader.GetValue(Int32 i)
at System.Data.Entity.Core.Mapping.Update.Internal.FunctionUpdateCommand.Execute(Dictionary`2 identifierValues, List`1 generatedValues)
at System.Data.Entity.Core.Mapping.Update.Internal.UpdateTranslator.Update()
Oracle.ManagedDataAccess
这似乎与缓存元数据有关。正如在中所讨论的,它似乎与缓存元数据有关。正如在