【问题标题】:Calling oracle package/procedure using Entity Framework使用实体框架调用 oracle 包/过程
【发布时间】:2016-02-15 00:46:59
【问题描述】:

Doing exactly the same in this LINK

我正在尝试使用实体框架调用 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 但未在用户代码中处理

附加信息:值不在预期范围内。

这可能是什么原因?

【问题讨论】:

    标签: c# asp.net-mvc oracle entity-framework stored-procedures


    【解决方案1】:

    如果您从 Visual Studio 中的 Nuget 包。

    Oracle.ManagedDataAccess.Client; 使用OracleParameter 不会抛出错误。

    【讨论】:

      猜你喜欢
      • 2014-03-24
      • 1970-01-01
      • 2015-06-05
      • 1970-01-01
      • 2016-12-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-15
      相关资源
      最近更新 更多