[英]Calling Oracle stored procedure using Entity Framework with output parameter?
[英]Calling oracle package/procedure using Entity Framework
我正在嘗試使用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.Data.Entity.dll中發生類型為'System.ArgumentException'的異常,但未在用戶代碼中處理
附加信息:值不在預期范圍內。
這可能是什么原因?
如果您從Visual Studio中的Nuget包添加Oracle托管數據訪問包,這將起作用。
使用來自Oracle.ManagedDataAccess.Client;
OracleParameter
Oracle.ManagedDataAccess.Client;
不會拋出錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.