У меня есть функция в PostgreSQL, и я хочу выполнить ее через dapper, но она выдает ошибку о том, что функция не существует:
моя функция в postgres:
CREATE OR REPLACE FUNCTION wpv.production_availability_sum_avg(
IN dtfrom date,
IN dtto date,
IN supervisor text,
IN reginalmanager text,
IN serviceunder text)
RETURNS TABLE(production numeric, turbine_name text, wind_speed double precision, availability double precision, power_curve_quality double precision) AS
$BODY$declare
begin
return query
select sum(m_energy_prod::numeric) Production,f.turbine_name::text, round(avg(m_wind_speed), 2) wind_speed, round(avg(m_corrected_av), 2) availability,
round(avg(t1.power_curve_quality), 2) power_curve_quality
from wpv.v_statistics_daily v1
left outer join wh.t_statistics_daily_ext t1 on t1.m_turbine_id = v1.m_turbine_id and t1.m_date=v1.m_date
JOIN wpv.v_master_data_turbine f on (f.m_turbine_id=v1.m_turbine_id)
JOIN zd.t_users g on(g.user_id=f.pv_person_resp_id)
where (v1.m_date between dtfrom and dtto)
and
f.m_turbine_supervisor like serviceunder
and g.user_name Like(reginalmanager)
and f.service_under Like(serviceunder) end)
group by 2
order by 4 ASC
limit 20;
end;$BODY$
LANGUAGE plpgsql VOLATILE
COST 100
ROWS 1000;
ALTER FUNCTION wpv.production_availability_sum_avg(date, date, text, text, text)
OWNER TO postgres;
вот мой код
var t = new {dtfrom=Convert.ToDateTime( "03/05/2018") ,dtto= Convert.ToDateTime( "04/05/2018"),supervisor="%",regionalmanager="%",serviceunder="%" };
DynamicParameters p = new DynamicParameters();
p.Add("@dtfrom", "03/05/2018",DbType.Date,ParameterDirection.Input);
p.Add("@dtto", "04/05/2018",DbType.Date, ParameterDirection.Input);
p.Add("@supervisor", "%",DbType.String, ParameterDirection.Input);
p.Add("@regionalmanager", "%",DbType.String, ParameterDirection.Input);
p.Add("@serviceunder", "%",DbType.String, ParameterDirection.Input);
var s = connection.Query<DataTable>("wpv.production_availability_sum_avg", p,
commandType: CommandType.StoredProcedure);
последняя часть, где я хочу выполнить запрос, я получаю сообщение об ошибке, функция не существует, но я верю, что она существует, и я проверил в postgres, и она работает