Doing exactly the same in this LINK
我正在尝试使用Entity Framework调用Oracle过程/包。但是我得到的错误与链接中提到的错误不同。
代码
public List<ClearTypes> GetOffices()
{
var param1 = new OracleParameter("P_CUR", OracleDbType.RefCursor, ParameterDirection.Output);
var ATests = this.Database.SqlQuery<ClearTypes>("BEGIN PRC_GET_CLEAR(:P_CUR); end;", param1).ToList();
return ATests;
}
SQL查询:
BEGIN
OPEN P_CUR FOR
SELECT ID, Name FROM ClearType;
END
ClearType
上课:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace MVCApp2.Models
{
public class ClearTypes
{
public int ID{get;set;}
public string Name{ get; set; }
}
}
运行应用程序时得到的错误是:
发生了'System.ArgumentException'类型的异常 System.Data.Entity.dll但未在用户代码中处理
其他信息:价值不在预期范围内。
这可能是什么原因?
答案 0 :(得分:1)
如果您添加Oracle托管数据访问包,这将有效 Visual Studio中的Nuget包。
使用OracleParameter
中的Oracle.ManagedDataAccess.Client;
不会抛出错误。