В моем приложении я установил Dapper из пакета nuget в основной проект .net. Я запускаю процедуру. В режиме отладки я вижу, что параметр получает значение, но не могу прочитать это значение.
public decimal AddMaster(MaterialMaster req)
{
decimal id = 0;
try
{
var dynamicParam = new OracleDynamicParameters();
var conn = this.GetConnection();
if (conn.State == ConnectionState.Closed)
{ conn.Open(); }
if (conn.State == ConnectionState.Open)
{
dynamicParam.Add("P_CAL_ID", OracleDbType.Decimal, ParameterDirection.InputOutput);
dynamicParam.Add("P_MATERIAL_KOD", OracleDbType.Varchar2, ParameterDirection.Input, req.MATERIAL);
dynamicParam.Add("P_SEZON_KOD", OracleDbType.Varchar2, ParameterDirection.Input, req.SEASON);
dynamicParam.Add("P_CURRENCY_ID", OracleDbType.Decimal, ParameterDirection.Input,0);
dynamicParam.Add("P_FABRIKA_KOD", OracleDbType.Varchar2, ParameterDirection.Input, req.PLANT_ID);
dynamicParam.Add("P_STATUS", OracleDbType.Decimal, ParameterDirection.Input,1);
dynamicParam.Add("P_EKLEYEN_KULLANICI", OracleDbType.Decimal, ParameterDirection.Input, 60950);
dynamicParam.Add("P_EKLENEN_TARIH", OracleDbType.Date, ParameterDirection.Input, new DateTime());
dynamicParam.Add("P_GUNCELLEYEN_KULLANICI", OracleDbType.Decimal, ParameterDirection.Input, 60950);
dynamicParam.Add("P_GUNCELLENEN_TARIH", OracleDbType.Date, ParameterDirection.Input, new DateTime());
dynamicParam.Add("P_CUSTOMER_ID", OracleDbType.Decimal, ParameterDirection.Input, req.CUSTOMER_ID);
var x = SqlMapper.Query(conn, "BMS.PA_CALCULATION_TOOL.INS_CAL_COST_CAL_MASTER", param: dynamicParam, commandType: CommandType.StoredProcedure).SingleOrDefault();
id = dynamicParam.Get<OracleDecimal>("P_CAL_ID");//<==This line throws error
}
return id;
}
catch(Exception ex)
{
return id;
}
}
id = dynamicParam.Get<OracleDecimal>("P_CAL_ID");
Над строкой выдается ошибка.
Метод Get не найден как ошибка.
Как я могу исправить эту ошибку. Я не могу дозвониться до P_CAL_ID
.