ASP.NET MVC EF存储过程错误:ORA-06550标识符' XXAAI_AFCD.XXAAI_MISSION_Insert'必须声明

时间:2017-08-01 05:26:29

标签: asp.net-mvc oracle entity-framework asp.net-mvc-5 entity-framework-6

使用Visual Studio 2015社区,EF 6,ASP.NET MVC 5,Oracle,并使用数据库优先方法。

我按照此处的说明(http://www.entityframeworktutorial.net/EntityFramework5/CRUD-using-stored-procedures.aspx)使用存储过程进行CUD操作。无论我做什么,我都会在调用SaveChanges时遇到同样的错误。

  

ORA-06550:第1行,第8栏:
  PLS-00201:标识符' XXAAI_AFCD.XXAAI_MISSION_Insert'必须申报   ORA-06550:第1行,第8栏:
  PL / SQL:忽略语句

插入操作的那个。更新和删除时会抛出类似的错误。此外,我称之为存储过程并不重要,它会为XXAAI_AFCD.XXAAI_MISSION_Insert引发相同的错误。我已经测试了存储过程,但它确实有效。

以下是代码:

PROCEDURE XXAAI_MISSION_Insert (P_MISSION_NUMBER IN XXAAI_AFCD.XXAAI_MISSION.MIS_MISSION_NUMBER%TYPE, 
  P_MISSION_TAG IN XXAAI_AFCD.XXAAI_MISSION.MIS_MISSION_TAG%TYPE, 
  P_MISSION_DATE IN XXAAI_AFCD.XXAAI_MISSION.MIS_MISSION_DATE%TYPE, 
  P_UPLOAD_DATE IN XXAAI_AFCD.XXAAI_MISSION.MIS_UPLOAD_DATE%TYPE, 
  P_NOTES IN XXAAI_AFCD.XXAAI_MISSION.MIS_NOTES%TYPE, 
  P_ACTIVE IN XXAAI_AFCD.XXAAI_MISSION.MIS_ACTIVE%TYPE, 
  P_USER_ID IN XXAAI_AFCD.XXAAI_MISSION.ADDED_BY%TYPE)
  IS

BEGIN

INSERT INTO XXAAI_AFCD.XXAAI_MISSION (MIS_MISSION_ID
  ,MIS_MISSION_NUMBER
  ,MIS_MISSION_TAG
  ,MIS_MISSION_DATE
  ,MIS_UPLOAD_DATE
  ,MIS_NOTES
  ,MIS_ACTIVE
  ,DATE_ADDED
  ,ADDED_BY
  ,DATE_MODIFIED
  ,MODIFIED_BY)
  VALUES (XXAAI_AFCD.XXAAI_MISSION_SEQ.NEXTVAL
  ,P_MISSION_NUMBER
  ,P_MISSION_TAG
  ,P_MISSION_DATE
  ,P_UPLOAD_DATE
  ,P_NOTES
  ,P_ACTIVE
  ,SYSDATE
  ,P_USER_ID
  ,SYSDATE
  ,P_USER_ID
  );


  END XXAAI_MISSION_Insert;

我尝试使用软件包重命名存储过程,并使用独立过程。我还右键单击Visual Studio中的存储过程并选择权限并为所有用户Execute。我还使用身份验证标识DEFINERCURRENT_USER创建了存储过程。这一切最终都会给出完全相同的错误。

以下是Create方法中的控制器代码。

db.XXAAI_MISSION.Add(xXAAI_MISSION);
await db.SaveChangesAsync();

错误发生在SaveChangesAsync()上。

我的模型OnModelCreating方法中也有以下代码。

modelBuilder.Entity<XXAAI_MISSION>().MapToStoredProcedures();

在我的model.edmx文件的“映射详细信息”选项卡中,我为插入操作选择了存储过程并映射了所有字段。我已经尝试了返回并且没有返回值。这里的任何帮助将不胜感激。

0 个答案:

没有答案